这几天正在学习python和Qt。所以请考虑这将是一个新手问题,但我被困在这里。
import sys
from PyQt4.QtCore import *
data1 = 'string'
data2 = QVariant(data1)
data3 = data2.toPyObject()
我期望 data3 与 data1 相同,“字符串”。但是在我的系统中 data3 是
PyQt4.QtCore.QString(u'string')
如果我想要处理的数据像示例一样简单,那么这没什么大不了的,但是我想处理“dict”类型的数据,所以我需要解决这个问题。
我认为这是编码问题,但找不到如何解决它。
*在每份文件中我都声明:
#-*- coding: utf-8 -*-
您可以通过将数据包装在不可变容器中来解决此问题:
>>> from PyQt4.QtCore import QVariant
>>> data = {'key1': 123, 'key2': 456}
>>> v = QVariant((data,))
>>> v.toPyObject()[0]
{'key2': 456, 'key1': 123}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)