Qt 第一次信号发射后自动断开

Qt 第一次信号发射后自动断开,qt,qt4,pyqt,pyqt4,Qt,Qt4,Pyqt,Pyqt4,我从文件加载网页,然后替换其中的一些html: self.template_web_page = QtWebKit.QWebPage() self.template_web_page.mainFrame().load(QtCore.QUrl('template.html')) def load(ok): main_window.web_view.loadFinished.disconnect(load) self.table_element

我从文件加载网页,然后替换其中的一些html:

    self.template_web_page = QtWebKit.QWebPage()
    self.template_web_page.mainFrame().load(QtCore.QUrl('template.html'))
    def load(ok):
        main_window.web_view.loadFinished.disconnect(load)
        self.table_element = self.template_web_page.mainFrame().findFirstElement("#table")
        self.table_element.setInnerXml(table_html)
    main_window.web_view.loadFinished.connect(load)

有没有一种方法只需一次就可以连接到信号?

如前所述,似乎没有比这更好(更简洁)的方法了

这表明这样的解决方案是好的,尽管我自己也对这样的解决方案有意见。我发现,如果我在插槽的开头断开插槽的连接(如问题中的代码所示),然后尝试执行一些GUI交互(设置statusbar文本是一个问题,但没有在列表视图中突出显示一行),我会由于空指针取消引用而得到一个异常。这是PyQt 4.6.2 for Python2.6 for Windows的版本。当我将disconnect()调用移到插槽的末尾时,问题就消失了


如果与此无关,并且这只是我犯的一个愚蠢的错误,请提前道歉。

我认为您的解决方案非常理想。。这有什么问题吗?如果在QTimer上有一个单发方法,我想在信号上也会有一个类似的方便方法