用QMainWindow发出PyQt5信号

时间:2019-06-24 11:43:01

标签: python pyqt5 signals

我有一个用QtDesigner创建的PyQt GUI。我已经使用pyuic5.exe将输出.ui文件转换为.py文件,并且我尝试在结果python文件中使用信号发送。但是我最终遇到以下错误:

  

TypeError:Ui_MainWindow无法转换为PyQt5.QtCore.QObject   在这种情况下

我尝试将继承的类更改为QObject,但是我得到了:

  

RuntimeError:Ui_MainWindow类型的超类 init ()从来没有   叫

import workers

class Ui_MainWindow(object):

    icmp_signal = pyqtSignal()

    def __init__(self, network_analyzer):
        self.icmp_worker = workers.WorkerICMPThread()
        self.icmp_signal.connect(self.add_post)

    def setupUi(self, MainWindow):
        MainWindow.resize(800, 1000)

    def add_post(self, post_text):
        print("Signal catched")

我要做的就是捕获从WorkerICMPThread类实例(它是QThread)发出的信号,并在发出该信号时调用add_post方法。

0 个答案:

没有答案