self.exit 和 self.quit 无法退出 PyQt 应用程序
我正在尝试写一个使用PyQt的应用程序,这个程序可以渲染HTML,然后等待,最后结束。我已经基本搞定了渲染的部分(为了简单起见,这里没有展示)。不过,运行这段代码时,它会卡住,感觉像是self.exit
(或者self.quit
)这个调用没有被执行。因为我之前没有接触过Qt,所以我觉得我可能漏掉了一些明显的东西。有没有人能帮我解答一下?
我也试过把退出的调用放在渲染函数的最后。
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_())
1 个回答
3
我不太明白你想做什么,不过我可以告诉你,你在创建 QApplication
的时候调用了 exit
(或者 quit
)。这两个命令的意思是让 QApplication
退出它的事件循环。但是在构造函数里,事件循环还没有开始(事件循环是在调用 exec_
后才开始的)。