Создание оболочки внутри виджета PyQt5 с помощью pty.spawn () - PullRequest
0 голосов
/ 28 августа 2018

Скажите, у меня есть класс

class Terminal(QWidget):
    def __init__(self):
        super().__init__()

        self.window_id = int(self.winId())

self.window_id содержит идентификатор окна нашего виджета Terminal.

Теперь я погуглил о pty.spawn() и написал этот пример

import os
import pty


filename = 'thisdoesnnotmatter'
shell = '/bin/bash'
mode = 'wb'
with open(filename, mode) as script:
    print(filename, mode)
    def read(fd):
        data = os.read(fd, 1024)
        script.write(data)
        return data


    pty.spawn(shell, read)

Теперь этот код, когда вы запустите его, вызовет сеанс / bin / bash, и вы сможете записать в него свои команды.

Теперь я хочу порождать эту оболочку внутри виджета Terminal.

Возможно ли это? Так как мы знаем идентификатор окна виджетов Терминала.

...