【问题标题】:Bound and Unbound methode Error Python绑定和未绑定方法错误 Python
【发布时间】:2017-11-06 21:12:50
【问题描述】:

大家好,我正在努力解决这个问题,请有人帮助我,我真的需要它

当我尝试从函数打印返回值不起作用时,我收到此错误

<unbound method Ui_MainWindow.fn_get_cell_Value>

这是我的代码

def handleHeade`rMenu(self,pos):
    menu = QMenu()
    quitAction = menu.addAction("Update")
    action = menu.exec_(self.tableView.mapToGlobal(pos))
    if action == quitAction:
       dd = Ui_MainWindow
       print dd.fn_get_cell_Value

def fn_get_cell_Value(self,qmodelindex):
    i = qmodelindex.row()
    j = qmodelindex.column()
    valeur = qmodelindex.sibling(i, j).data(QtCore.Qt.DisplayRole).toString()
    return valeur

当我点击 Qmenu 中的更新时,我想打印返回值

非常感谢

【问题讨论】:

  • 如果您收到错误回溯,请在答案中包含更多或全部内容。
  • 我只得到了这个错误`` `
  • 当我尝试从 qtableview 获取价值并进行操作时,我只收到了这个错误&lt;unbound method Ui_MainWindow.fn_get_cell_Value&gt; 。我该如何解决这个问题,或者我想从 qtableview 中获取价值并进行操作
  • 您正在打印对类方法的引用,而不是调用类实例的方法。你期望会发生什么?因为它看起来完全符合我期望的代码......

标签: python python-2.7 pyqt qtableview qtgui


【解决方案1】:

&lt;unbound method Ui_MainWindow.fn_get_cell_Value&gt; 不是错误消息。这是此打印语句的预期输出

   print dd.fn_get_cell_Value

您需要使用 () 调用该方法,但我无法确定调用可能需要哪些参数。请考虑以下内容。

>>> class C:
    def meth(self): return 55

>>> print C.meth
<unbound method C.meth>
>>> print C().meth
<bound method C.meth of <__main__.C instance at 0x0000000003FAD448>>
>>> print C().meth()
55

【讨论】:

    猜你喜欢
    • 2011-08-26
    • 1970-01-01
    • 1970-01-01
    • 2017-07-19
    • 2010-11-04
    • 1970-01-01
    • 2016-11-30
    • 2016-04-17
    相关资源
    最近更新 更多