将变量从普通函数传递到init_UI函数

时间:2016-09-27 07:26:58

标签: python function python-3.x pyqt5

我在使用普通类函数的变量和initUI函数时遇到了问题 代码如下所示:

def text_trans(self):
    ...
    number = 2
    ...
def init_UI(self):
    number = text_transfer(self)
    print(number)
    QtWidgets.QMessageBox.information(self,"generated","generated")

我写了上面的代码,但它显示了一个名称错误。有没有办法,我可以在第二个函数的第一个函数中使用数字变量吗?

1 个答案:

答案 0 :(得分:1)

  

我写了上面的代码,但它显示了一个名称错误。

可能是因为,对于初学者,text_transfer != text_trans,其次,在方法体中,您应该使用self来访问其他方法。因此,init_UI应如下所示:

def init_UI(self):
    number = self.text_trans()
    print(number)

您可以通过self访问该名称,然后self会隐式传递给调用的函数,因此text_transfer(self)无法正常工作。

  

有没有办法,我可以在第二个函数的第一个函数中使用数字变量吗?

在大多数情况下,只需从给定函数返回所需名称即可完成此操作:

def text_trans(self):
    ...
    number = 2
    return number