我正在尝试使用通过PyQt5嵌入到应用程序中的终结者,但它没有出现在应用程序中。如何调整代码以运行嵌入到我的应用程序中的终端?
*如果我使用“ urvxt”终端,则一切正常,如果我使用self.process.start('terminator'),他将在另一个窗口中打开。
*已经尝试了How to embed terminal inside PyQt5 application without QProcess?,Embedding a terminal in PyQt5和how to use a terminal embedded in a PyQt GUI,但没有成功。
import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
class embterminal(QWidget):
def __init__(self):
QWidget.__init__(self)
self.process = QProcess(self)
self.terminal = QWidget(self)
layout = QVBoxLayout(self)
layout.addWidget(self.terminal)
# Works also with urxvt:
self.process.start('terminator', ['-embed',str(int(self.winId()))])
print(self.winId())
self.setGeometry(1, 1, 800, 600)
if __name__ == "__main__":
app = QApplication(sys.argv)
main = embterminal()
main.show()
sys.exit(app.exec_())