self.exit и self.quit не выходят из приложения PyQt - PullRequest
3 голосов
/ 11 октября 2011

Я пытаюсь написать приложение 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 голосов
/ 11 октября 2011

Я не совсем понимаю, что вы пытаетесь сделать, но, тем не менее, вы вызываете exit (или quit) в конструкторе вашего QApplication.exit (или quit) говорит QApplication покинуть свой цикл обработки событий, но в конструкторе цикл обработки событий еще не запущен (он вызывается exec_).

...