如何发出带有参数的信号

问题描述 投票:0回答:1

我关于这个主题的第一个问题是QtCore.SIGNALS 不适用于我的代码

但是如何使用不同的参数运行这个函数两次呢?例如:

第一次参数 = 0

n[0]

第二次参数 = 1

n[1]

    def view_splash(self, argument):
        print('test')
        label = QLabel("<font color=red size=10<b>" + n[argument] + "</b></font>")
        label.setWindowFlags(Qt.SplashScreen | Qt.WindowStaysOnTopHint)
        label.show()
        QtCore.QTimer.singleShot(5000, label.close)


class AThread(QtCore.QThread):
    trigger = QtCore.pyqtSignal()

    def run(self):
        print('n[0]')
        self.trigger.emit()
        time.sleep(10)
        print('n[1]')
        self.trigger.emit()
python parameters pyqt4 signals-slots
1个回答
3
投票

使用要发送的参数类型定义信号:

class AThread(QtCore.QThread):
    trigger = QtCore.pyqtSignal(int)

然后发出实际值:

    def run(self):
        print('n[0]')
        self.trigger.emit(0)
        time.sleep(10)
        print('n[1]')
        self.trigger.emit(1)
© www.soinside.com 2019 - 2024. All rights reserved.