将变量从函数传递到另一个类的另一个函数 - Python

时间:2015-01-04 15:51:00

标签: python qt class variables pyqt

我已经在我的问题中搜索了可能的答案/解决方案,但没有解决它,它不适用于我的程序。我不知道我的代码有什么问题,所以我想在这里问一下。我正在使用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>`

EDITED: 之前,我的问题是将类Emp的变量'ename'传递给Perform类。我现在的问题是

> <__main__.Perform object at 0x00000000036EC288>

我不知道它是什么意思以及如何调试它。

我希望这一切都有道理。如果您需要澄清,请告诉我。关于代码本身,任何批评都是受欢迎的。提前谢谢。

2 个答案:

答案 0 :(得分:0)

在您的第一个解决方案中,我认为您应该Perform.getrb(self, ename)更改self.getrb(ename)

答案 1 :(得分:0)

因此,您不提供可运行代码的原因实际上并不好。但是对于你的问题:&#39;它是什么意思&#39;

如果你有一个课,可以说:

#main.py
class A:
    #some methods

classA = A()
print class A

- &GT;输出:__ main __。0x00处的对象...(更多数字) 如果你打印一个对象,Python会告诉你它属于哪个类: __main__A - &gt;主模块中A类的对象 并在0x00 ...告诉你它在memoery中的存储位置。

因此,在您的代码中,您可能会声明打印对象的声明