gpt4 book ai didi

python - 如何从 PyQt4 中的 QVariant 取回我的 python 对象?

转载 作者:太空狗 更新时间:2023-10-30 00:25:43 25 4
gpt4 key购买 nike

我正在创建 QAbstractItemModel 的子类以显示在 QTreeView 中。

我的 index()parent() 函数使用 QAbstractItemModel 继承的函数 创建了 QModelIndex >createIndex 并为其提供所需的数据。此处,出于测试目的,数据是 Python 字符串。

class TestModel(QAbstractItemModel):
def __init__(self):
QAbstractItemModel.__init__(self)

def index(self, row, column, parent):
if parent.isValid():
return self.createIndex(row, column, "bar")
return self.createIndex(row, column, "foo")

def parent(self, index):
if index.isValid():
if index.data().data() == "bar": <--- NEVER TRUE
return self.createIndex(0, 0, "foo")
return QModelIndex()

def rowCount(self, index):
if index.isValid():
if index.data().data() == "bar": <--- NEVER TRUE
return 0
return 1

def columnCount(self, index):
return 1

def data(self, index, role):
if index.isValid():
return index.data().data() <--- CANNOT DO ANYTHING WITH IT
return "<None>"

index()parent()data() 函数中,我需要取回我的数据。它以 QVariant 的形式出现。如何从 QVariant 取回我的 Python 对象?

最佳答案

你试过吗?

my_python_object = my_qvariant.toPyObject()

http://pyqt.sourceforge.net/Docs/PyQt4/qvariant.html#toPyObject (只是为了完整性,但那里没有太多可看的......)

关于python - 如何从 PyQt4 中的 QVariant 取回我的 python 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2333420/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com