我试图用 QWebEnginePage 重新启动 pyqt5 应用程序。但是有段错误。这是代码示例:
import sys
from PyQt5.QtWidgets import QApplication
from PyQt5.QtWidgets import qApp
#from PyQt5.QtWebEngineWidgets import QWebEnginePage
from PyQt5.QtCore import QTimer
from PyQt5.QtWidgets import QMainWindow
from PyQt5.QtWebEngineWidgets import QWebEngineView
class MainWindow(QMainWindow):
EXIT_CODE_REBOOT = -123
def __init__(self,parent=None):
QMainWindow.__init__(self, parent)
self.timer = QTimer()
self.timer.timeout.connect(self.restart)
self.timer.start(3 * 1000)
self.qwe = QWebEngineView()
#self.qp = QWebEnginePage() # uncomment this will cause Segmentation fault (core dumped)
def restart(self):
print('restart')
qApp.exit(MainWindow.EXIT_CODE_REBOOT)
if __name__=="__main__":
currentExitCode = MainWindow.EXIT_CODE_REBOOT
while currentExitCode == MainWindow.EXIT_CODE_REBOOT:
print('next..')
a = QApplication(sys.argv)
w = MainWindow()
w.show()
currentExitCode = a.exec_()
a = None
有了这个评论 - 它工作正常。但是如果删除评论的“分段错误(核心转储)”出现。
你能给我一个建议吗?
编辑
在 PyQt 5.9.3 和 Ubuntu 14.04 上复制