QSettingでdictを保存しました。ロードすると、QVariantが表示されます。
>>dict
{u'key1': u'val1', u'key2': u'val2',....}
...
>>loadedDict
<PyQt4.QtCore.QVariant object at 0x02B11848>
それを再びdictに変換して、このように再び使用できるようにする方法:
>>dict['key2']
val2
QSettingでdictを保存しました。ロードすると、QVariantが表示されます。
>>dict
{u'key1': u'val1', u'key2': u'val2',....}
...
>>loadedDict
<PyQt4.QtCore.QVariant object at 0x02B11848>
それを再びdictに変換して、このように再び使用できるようにする方法:
>>dict['key2']
val2
dictを文字列に変換し、eval(str)を実行した後、dictに戻すことができます。
pydict = {'key1': 'val1', 'key2': 'val2'}
variant = QtCore.QVariant( pydict )
...
pydict = eval( str( variant.toString() ) )
print pydict
>>> {'key1': 'val1', 'key2': 'val2'}
キーまたは値の1つを文字列からdictに変換できない場合、evalが失敗する可能性があることに注意してください。これは、組み込み型(str、int、list ..)がない場合に発生する可能性がありますが、この場合は問題なく機能します。