Python self.exit和self.quit不退出PyQt应用程序
我正在尝试编写一个PyQt应用程序来呈现HTML、等待和完成。我已经把渲染大部分放下来了(但为了简单起见,这里去掉了渲染)。这里的代码运行并挂起,似乎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
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
插槽。