【发布时间】:2013-03-22 20:30:06
【问题描述】:
我正在学习如何将 Qt 与 PyQt 一起使用,并且我有一个带有 StandardItemModel 的 QTabelView 我已成功填充模型并将 itemChanged 信号连接到插槽。我想弄乱 IPython 中返回的任何对象,所以目前我有这行:
def itemChangedSlot(epw, item):
new_data = item.data()
print new_data
print item
打印出来的
<PyQt4.QtGui.QStandardItem object at 0x07C5F930>
<PyQt4.QtCore.QVariant object at 0x07D331F0>
在 IPython 会话中是否可以使用此内存地址获取对象?我在 Google 上没有看到任何内容,也许我的术语不对?
【问题讨论】:
-
您正在打印的对象
new_data就是对象。只需退回或以其他方式存储,而不是打印它。 -
这不是不可能做到的,但这并不容易,而且没有记录在任何情况下都可以工作,而且这通常是一个非常糟糕的主意。如果您正在试验 CPython 如何在幕后工作,或者调试垃圾收集器,或者类似的东西,那么这可能是值得的,但否则,您就找错了树,而 Raymond Hettinger 的答案就是您想要的.
-
是的,尝试在地址后使用 .__dict__
标签: python pyqt4 ipython dereference