首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > perl python >

求教PyQT的QString不被basestring分辨

2013-01-20 
求教PyQT的QString不被basestring识别之前写了一个串口的程序,用的是PySide,工作很正常。。现在把它改成了Py

求教PyQT的QString不被basestring识别
之前写了一个串口的程序,用的是PySide,工作很正常。。

现在把它改成了PyQt4的:结果串口打不开了,经过跟踪找到了问题:

程序里有一条:
COM.port = self.cmbCOMM.currentText()

代码就是在这里异常的,进一步跟踪进入currentText函数发现了问题的根源,这里面有下面这样一句话:
if isinstance(port, basestring)

这一句的作用是检查port是不是str或unicode类型,可是我发现port的类型竟然是QString


界面是使用QDesigner设计的,之前用PySide没有问题,这说明PySide把下拉列表的元素类型设置成了str或unicode;而现在PyQt4却把他们的类型设置成QString

请问,这个问题有没有简单的解决办法啊???难道我又要再转回到PySide吗???


我觉得这一点PyQt没有PySide做的好,,既然是在Python环境下使用,应该尽量使用Python的类型才对啊,, PyQt?QString
[解决办法]
转换一下嘛,不知道这个有用不

str QString.__str__ (self)
unicode QString.__unicode__ (self)
[解决办法]
保持与Qt兼容,貌似所有的字符串都是QString

热点排行