Форум сайта python.su
Добрый день!
(QT4 Py2.7.15)
Прошу подсказать
Есть главная форма, на которой создаются компоненты.
Есть LAbel в которой выводятся данные.
Подскажите как мне из таймера передать в label данные, не получается.
Вот одна из моих попыток:
class config: def clk(self): global t1 t1=5000 t2=50 t3=50 t4=50 t_ul=50 regim=0 print(str(t1)) self.init1= _init_() self.init1.label.setText('ff') class _init_(QtGui.QWidget): def __init__(self, parent=None): def on_click(): global t1, T T = t1 cfg = config() cfg.clk() label_T1.setText(str(t1)) QtGui.QWidget.__init__(self, parent) self.setGeometry(300, 300, 250, 150) self.setWindowTitle('T') self.setMinimumSize(480, 354 ) self.setMaximumSize(480, 354 ) self.setWindowState(Qt.WindowMaximized) class _init_(QtGui.QWidget): def __init__(self, parent=None): def on_click(): global t1, T T = t1 cfg = config() cfg.clk() label_T1.setText(str(t1)) label_T.setText(str(T)) QtGui.QWidget.__init__(self, parent) self.setGeometry(300, 300, 250, 150) self.setWindowTitle('TERMICHKA') self.setMinimumSize(480, 354 ) self.setMaximumSize(480, 354 ) self.setWindowState(Qt.WindowMaximized) label_T1 = QtGui.QLabel('s', self) label_T1.setGeometry(190, 74, 45, 20) label_T1.setStyleSheet(QString("font-size: %1px").arg(18)) app = QtGui.QApplication(sys.argv) #--------------- cfg = config() timer = QtCore.QTimer() timer.connect(timer, QtCore.SIGNAL('timeout()'), lambda: cfg.change_label(label)) timer.start(1000) #------------------------------------------------------ qb = _init_() qb.show() sys.exit(app.exec_())
Отредактировано lefmails (Апрель 15, 2019 15:55:09)
Офлайн
lefmails читая ваш код у меня возникает когнитивный диссонас
гапример вот это
lefmailsвступает в конфликт с вот этим
Py2.7.15
lefmails
print(str(t1))
lefmailsэто не попытка это содомия какаято:
Вот одна из моих попыток:
... global t1, T T = t1 ...
lambda: cfg.change_label(label)
lefmailsи не получиться, таймер не передает никаких данных, он просто дергает метод с заданым интервалом.
Подскажите как мне из таймера передать в label данные, не получается.
from PyQt4 import QtGui, QtCore class TestWidget(QtGui.QWidget): def __init__(self, parent=None): QtGui.QWidget.__init__(self, parent) self.setGeometry(300, 300, 250, 150) self.setWindowTitle('TERMICHKA') self.setMinimumSize(480, 354 ) self.setMaximumSize(480, 354 ) self.setWindowState(QtCore.Qt.WindowMaximized) self.label_T1 = QtGui.QLabel('s', self) self.label_T1.setGeometry(190, 74, 45, 20) self.counter = 0 def update_label(self): self.counter += 1 self.label_T1.setText(str(self.counter)) if __name__ == '__main__': app = QtGui.QApplication(sys.argv) qb = TestWidget() qb.show() timer = QtCore.QTimer() timer.timeout.connect(qb.update_label) timer.start(1000) sys.exit(app.exec_())
[code python][/code]
Отредактировано PEHDOM (Апрель 16, 2019 10:28:33)
Офлайн
PEHDOM Супер! спасибо!
Офлайн