-1

我正在使用 QtDesigner,它在转换为 .py 时将其代码放入类中。

我必须访问类之外的按钮、标签和文本框才能对它们进行操作。由于未解决的错误,我无法将我的函数放在类之上。我不想在类中添加我的函数.. 有很多东西而且很乱。所以我必须把我的功能放在课后。

这是 Qt Designer 转换为的过度简化的示例 python 代码结构

class MyWindowUI():
    def setupUI(self):
        self.myButton1 = 'A'
        self.myButton2 = 'B'

    def stuff(self):
        self.myButton3 = 'A'
        self.myButton4 = 'B'
    test = "something"

myBtn = MyWindowUI()
print (myBtn.test)
print (myBtn.myButton4)

所以, myBtn.test 有效。它打印“某事”,但是 myBtn.myButton4 没有。说 MyWindowUI 实例没有属性 'myButton4.

如何从课堂外的“stuff”和“setupUI”获取信息?

4

1 回答 1

1

由于您没有调用方法,因此您的代码永远不会进入这些代码块来创建变量。

一种方法是调用它们,__init__但您可以在创建类实例后在任何您喜欢的地方调用它们。请确保,您的代码通过该行。

class MyWindowUI():
    def __init__(self):
        self.setupUI()
        self.stuff()

    def setupUI(self):
        self.myButton1 = 'A'
        self.myButton2 = 'B'

    def stuff(self):
        self.myButton3 = 'A'
        self.myButton4 = 'B'
    test = "something"

myBtn = MyWindowUI()
#myBtn.setupUI()
#myBtn.stuff()
print (myBtn.test)
print (myBtn.myButton4)
于 2016-02-11T08:15:39.127 回答