Python self.exit和self.quit不退出PyQt应用程序

Python self.exit和self.quit不退出PyQt应用程序,python,pyqt,pyqt4,Python,Pyqt,Pyqt4,我正在尝试编写一个PyQt应用程序来呈现HTML、等待和完成。我已经把渲染大部分放下来了(但为了简单起见,这里去掉了渲染)。这里的代码运行并挂起,似乎self.exit调用(或self.quit)没有得到遵守。由于之前没有使用Qt的经验,我觉得好像我错过了一些明显的东西。有人能解释一下吗 我还尝试将exit调用放在render函数的末尾 from PyQt4.Qt import QApplication from PyQt4.QtWebKit import QWebView import sys

我正在尝试编写一个PyQt应用程序来呈现HTML、等待和完成。我已经把渲染大部分放下来了(但为了简单起见,这里去掉了渲染)。这里的代码运行并挂起,似乎
self.exit
调用(或
self.quit
)没有得到遵守。由于之前没有使用Qt的经验,我觉得好像我错过了一些明显的东西。有人能解释一下吗

我还尝试将exit调用放在render函数的末尾

from PyQt4.Qt import QApplication
from PyQt4.QtWebKit import QWebView
import sys

class ScreenshotterApplication(QApplication):

    def __init__(self, args, html):
        QApplication.__init__(self, args)

        self.browser = QWebView()
        self.render(html)
        self.exit()

    def render(self, html):
        print html

if __name__ == "__main__":
    app = ScreenshotterApplication(sys.argv, '<h1>Hello, World!</h1>')
    sys.exit(app.exec_())
来自PyQt4.Qt导入QApplication的

从PyQt4.QtWebKit导入QWebView
导入系统
类屏幕快照应用程序(QApplication):
定义初始化(self、args、html):
QApplication.\uuuu init\uuuu(self,args)
self.browser=QWebView()
self.render(html)
self.exit()
def呈现(自我,html):
打印html
如果名称=“\uuuuu main\uuuuuuuu”:
app=ScreenshotterApplication(sys.argv,'Hello,World!')
sys.exit(app.exec_())

我真的不明白您想做什么,但是,也就是说,您正在调用
QApplication
的构造函数中的
exit
(或
quit
exit
(或
quit
)告诉QApplication离开它的事件循环,但是在构造函数中,eventloop还没有启动(调用了
exec_

所以我需要定义我自己的
exec_
?我找不到太多关于它默认功能的文档。要回答这个问题,你应该解释一下你正在尝试做什么。“我正在尝试编写一个PyQt应用程序来呈现HTML、等待和完成。”它打开一个QWebView,将其映射到QPixmap,然后保存它。我认为你的“呈现”方法应该在工作完成时发出你自己的信号。此信号应连接到应用程序的
quit
插槽。