Изменение QLabel из PyQt из другого скрипта Python - PullRequest
0 голосов
/ 11 октября 2019

Script1 имеет Qlabel, а Script2 вычисляет некоторое значение.

Я хочу изменить содержимое Qlabel по сравнению с кодированием в скрипте 2.

Например, я написал

self.button_A.clicked.connect(test)

Я написал,

import script1

def test():
    self.label_A.setText("this is changed text")

в сценарии 2.

И как результат выполнения, self не определено ...

Я понятия не имею, что произошло.

1 Ответ

0 голосов
/ 11 октября 2019

То, что self относится к объекту, созданному из класса, в котором вы определили свой button_A.

Например, если код похож на следующий:

class MyWindow(QtGui.QMainWindow):

    def __init__(self):
        super().__init__()
        self.button_A = QtGui.QPushButton("Button A", self)
        self.button_A.clicked.connect(test)

и высоздание экземпляра объекта с помощью:

my_window = MyWindow()

, затем вы должны иметь ссылку на этот my_window в сценарии 2 и вызывать команду с помощью:

from script1 import my_window

my_window.label_A.setText("this is changed text")
...