0

我试图用 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 上复制

4

1 回答 1

0

当我使用 anaconda PyQt5 时出现同样的错误

我安装了 PyQt5

conda install -c anaconda pyqt

错误结果:

>>> from PyQt5 import *
>>> from PyQt5.QtGui import *
Segmentation fault (core dumped)

通过以下方式解决:

pip install PyQt5

结果:

>>> from PyQt5 import *
>>> from PyQt5.QtGui import *
>>> 

希望它有效!

于 2018-02-04T05:15:01.043 回答