Как излучать сигналы с параметрами

Мой первый вопрос по этой теме был QtCore.SIGNALS не работает над моим кодом.

Но как запустить эту функцию два раза с разными параметрами? Например:

первый аргумент = 0

п [0]

второй аргумент = 1

п [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()

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)
Другие вопросы по тегам