изменить текст метки с помощью пользовательской функции - PullRequest
0 голосов
/ 11 февраля 2020

Цель состоит в том, чтобы автоматически установить текст метки на выход функции. Поэтому я установил собственный сигнал и связал метку с функцией. Пока что я могу только изменить текст, добавив кнопку pu sh.

Я прочитал предыдущие темы по этой теме c, но до сих пор не могу понять, почему не работает:

Что мне здесь не хватает?

полный код

import sys
import os

from PyQt5 import QtWidgets as qtw
from PyQt5 import QtCore as qtc
from PyQt5 import QtGui as qtg

class UserTest(qtw.QWidget):

    trigger = qtc.pyqtSignal(str)


    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        # your code will go here
        user_in_label = qtw.QLabel()
        layout = qtw.QVBoxLayout()
        # layout.addWidget(qtw.QPushButton('Click me', clicked=self.set_signal))

        layout.addWidget(user_in_label)

        # funktionen
        self.setLayout(layout)
        # fire signal to slot
        self.trigger.connect(user_in_label.setText)
        # your code ends here
        self.show()

    def set_signal(self):
        active_user = os.getlogin()
        self.trigger.emit(active_user)

if __name__ == '__main__':
    app = qtw.QApplication(sys.argv)
    w = UserTest()
    sys.exit(app.exec_())

...