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()函数。
转换后,可以直接索引访问需要的数值。