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()函数。

转换后,能够直接索引訪问须要的数值。


原文地址:https://www.cnblogs.com/bhlsheji/p/5137900.html