首页 > 解决方案 > 从其他 python 脚本更改 PyQt 的 QLabel

问题描述

Script1 有 Qlabel 并且 Script2 正在计算一些值。

我想要的是从脚本 2 中的编码更改 Qlabel 的内容。

例如,我写了

self.button_A.clicked.connect(test)

我写,

import script1

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

在脚本 2 上。

作为运行结果, self 没有定义......

我不知道发生了什么。

标签: pythonuser-interfacepyqtpyqt5uicontrol

解决方案


那是指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")

推荐阅读