因此,我一直在尝试创建自己的终端,但事实证明,该终端非常故障且外观不专业。
然后我偶然发现了用于PyQt4的这段代码:
#!/usr/bin/env python
#-*- coding:utf-8 -*-
import sys
from PyQt4.QtCore import *
from PyQt4.QtGui 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)
#self.process.start(
#'xterm',['-into', str(self.terminal.winId())])
# Works also with urxvt:
self.process.start(
'urxvt',['-embed', str(self.terminal.winId())])
if __name__ == "__main__":
app = QApplication(sys.argv)
main = embterminal()
main.show()
sys.exit(app.exec_())
由于我的应用程序是用PyQt5编写的,因此我自然尝试将代码移植到PyQt5。我更改from PyQt4.QtCore import *
from PyQt4.QtGui import *为from PyQt5.QtCore import *
from PyQt5.QtGui import *并添加了from PyQt5.QtWidgets import *
然后,当我运行代码时,我意识到终端没有弹出。
我不知道为什么会发生这种情况,并且有解决方法吗?
我也想知道我是否可以在同一项目/文件中同时使用PyQt5和PyQt4。
相关分类