在Python中将QVariant转换回dict

2024-04-26 03:49:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我用qseting保存了dict,当我加载它时,我得到了QVariant

>>dict
{u'key1': u'val1', u'key2': u'val2',....}
...
>>loadedDict
<PyQt4.QtCore.QVariant object at 0x02B11848>

如何将其转换回dict以便我可以像这样再次使用它:

^{pr2}$

Tags: objectdictatkey2key1pyqt4val1val2
1条回答
网友
1楼 · 发布于 2024-04-26 03:49:41

您可以将dict转换为字符串,然后在eval(str)之后将其转换回dict:

pydict  = {'key1': 'val1', 'key2': 'val2'}
variant = QtCore.QVariant( pydict )
...
pydict = eval( str( variant.toString() ) )
print pydict
>>> {'key1': 'val1', 'key2': 'val2'}

请记住,如果无法将其中一个键或值从string转换为dict,则eval可能会失败。如果您的类型(str、int、list..)中没有内置的,则可能会发生这种情况但在你的情况下不会有问题。在

相关问题 更多 >