首页 > 代码库 > python列表和QVariant

python列表和QVariant

pyqt中,要给QAbstractTableModel的setData函数传递一个list参数:

[20,‘00:00:19‘]


涉及到QVariant和list的转换。

可以使用QVariant类中的toPyObject是转换。


环境是:Python 2.7.6 pyqt4 4.8.6

有文章说是,toPyObject只能转换字符串,而且只能转换字典。


测试一下,支持数字,支持字典和列表。


#coding:utf-8
from PyQt4.QtCore import QVariant

a={2:'10',3:'00:00:09'}
aa=QVariant(a)
b=aa.toPyObject()
print b
print(b[2],b[3])

#分割线
print('*'*8)

a=[20,'00:00:19']
aa=QVariant(a)
b=aa.toPyObject()
print b
print(b[0], b[1])



结果图:



传递以前,需要使用QVariant封装一下列表,才能在后面使用toPyObject()函数。

转换后,可以直接索引访问需要的数值。