gpt4 book ai didi

python - 如何从 QVariant 获取 Python 列表

转载 作者:行者123 更新时间:2023-11-30 23:15:10 25 4
gpt4 key购买 nike

如果Qt.UserRole模型的headerData()返回一个Python列表变量:

if role==Qt.UserRole:
return QVariant(['one','two','three'])

不是常规的 Python 列表,而是调用以下函数:

returnedValue = myModel(index.column(), Qt.Horizontal, Qt.UserRole)

获取一个QVariant对象:

<PyQt4.QtCore.QVariant object at 0x10d3b67c0>

尝试使用以下方法将返回的 QVariant 对象转换为 Python:

pythonList=returnedValue.toPyObject()

没用。我尝试过这样做:

对于 returnedValue.toList() 中的每个: 打印每个

但是仍然打印出一些 QVariants。应该使用什么方法将QVariant转换为Python列表?

最佳答案

QVariant 是几乎所有内置类型的通用容器,因此为了将 QVariant 数据转换回来,您需要知道它存储的数据类型。

from PyQt4.QtCore import QVariant

a = QVariant(['one', 'two', 'three'])

aList = [unicode(i.toString()) for i in a.toList()]
print aList

输出如下:

[u'一', u'二', u'三']

关于python - 如何从 QVariant 获取 Python 列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28405320/

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