【问题标题】:Passing variable from a function to other function from other class - Python将变量从一个函数传递给另一个类的另一个函数 - 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>'是什么意思?
  • 您的代码不完整。它不能按原样运行,因此这里的人们只能推测。

标签: python qt class variables pyqt


【解决方案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... 告诉您它在内存中的存储位置。

因此,在您的代码中,您可能有打印对象的语句

【讨论】:

  • 对不起。呵呵,不过谢谢! :)
猜你喜欢
  • 1970-01-01
  • 2019-07-25
  • 1970-01-01
  • 2014-04-02
  • 1970-01-01
相关资源
最近更新 更多