【问题标题】:How to emit signals with parameters如何发出带参数的信号
【发布时间】:2016-04-11 09:34:36
【问题描述】:

我关于这个话题的第一个问题是QtCore.SIGNALS not working on my code

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

第一次参数 = 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 pyqt4 signals-slots qt-signals


    【解决方案1】:

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

    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)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多