将变量从一个函数传递给另一个类的另一个函数 - Python
Posted
技术标签:
【中文标题】将变量从一个函数传递给另一个类的另一个函数 - Python【英文标题】:Passing variable from a function to other function from other class - Python 【发布时间】:2015-01-04 15:50:59 【问题描述】:我已经在我的问题中搜索了可能的答案/解决方案,但没有解决它,它不适用于我的程序。我不知道我的代码有什么问题,所以我想在这里问一下。我正在使用 Python 3,Qt。
这是我的代码:
main.py
> class Emp(QtGui.QWidget, Ui_Emp):
> def __init__(self, parent=None):
> #..
> def getdata(self):
> ename = str(self.emp_comboBox.currentText())
> Perform.getrb(ename)
@QtCore.pyqtSignature("on_proceed_clicked()")
def perform(self):
self.a = Perform(self)
self.a.show()
self.close()
class Perform(QtGui.QWidget, Ui_Perf):
> def __init__(self, parent=None):
> #..
> @QtCore.pyqtSignature("on_procbutton_clicked()")
> def getrb(ename):
> print(ename)
输出
> Fatima Cruz *prints the ename*
> <__main__.Performa at 0x00000000036EC288>`
编辑: 以前,我的问题是将变量“ename”从 Emp 类传递给 Perform 类。我现在的问题是
> <__main__.Perform object at 0x00000000036EC288>
我不知道它是什么意思以及如何调试它。
我希望这一切都有意义。如果您需要澄清,请告诉我。欢迎对代码本身提出任何批评。提前致谢。
【问题讨论】:
您是否准确地确定了导致问题的线路? 您好,先生,我已经得到了“ename”,但我认为仍然存在错误。因为在'ename'之后,输出还有'<__main__.perform object at>'是什么意思? 您的代码不完整。它不能按原样运行,因此这里的人们只能推测。 【参考方案1】:在您的第一个解决方案中,我认为您应该将 Perform.getrb(self, ename)
更改为 self.getrb(ename)
?
【讨论】:
我试过了,但我得到了相同的输出。谢谢回答。无论如何,我忘记了一些代码,我会编辑它,也许那部分有问题。请看:)【参考方案2】:所以你不提供可运行代码的原因确实不好。但是对于你的问题:'这是什么意思'
如果你有一门课,让我们说:
#main.py
class A:
#some methods
classA = A()
print class A
--> 输出:__main__.A object at 0x00...(更多数字) 如果你打印一个对象,Python 会告诉你它属于哪个类: __main__A --> 主模块中 A 类的对象 并且在 0x00... 告诉您它在内存中的存储位置。
因此,在您的代码中,您可能有打印对象的语句
【讨论】:
对不起。呵呵,不过谢谢! :)以上是关于将变量从一个函数传递给另一个类的另一个函数 - Python的主要内容,如果未能解决你的问题,请参考以下文章