在PyQt中,终端如何嵌入窗口?

时间:2015-10-21 12:38:06

标签: python macos pyqt xterm

我有一个小脚本,旨在将一个xterm嵌入到PyQt GUI中。在Linux上,它可以工作,创建一个这样的GUI:

但是,在OS X上运行相同的脚本会产生两个这样的窗口:

有谁知道如何解决这个问题并阻止OS X搞砸GUI?

import sys
from PyQt4.QtCore import *
from PyQt4.QtGui import *

class embeddedTerminal(QWidget):

    def __init__(self):
        QWidget.__init__(self)
        self.resize(800, 600)
        self.process = QProcess(self)
        self.terminal = QWidget(self)
        layout = QVBoxLayout(self)
        layout.addWidget(self.terminal)
        self.process.start('xterm', ['-into', str(self.terminal.winId())])

if __name__ == "__main__":
    app = QApplication(sys.argv)
    main = embeddedTerminal()
    main.show()
    sys.exit(app.exec_())

1 个答案:

答案 0 :(得分:0)

您可以查看qtconsoleJupyter前端,然后尝试使用bash kernel。根据您的最终目标,我知道可以在另一个应用程序中嵌入IPython kernel