python中QStringList与QString、String互转

在使用pyQt进行GUI编程时,经常会遇到获取编辑框的内容等,其返回的是QString()和QStringList()类,简单的说,就是QT自己的String和list类,但是这些类不能和python的String和List类混用,需要转换一下。
1、QStringList转QString:
   
   
from PyQt4.QtCore import *
qList = QStringList(['a','b','c'])
qStr = qList.join(';') #可以使用其他字符连接
print qStr
输出结果:
   
   
'a;b;c'

2、QString 转QStringList:
使用字符串切割方法。
   
   
from PyQt4.QtCore import *
qStr = QString('a;b;c')
qList = qStr.split(';')
for q in qList:
print q
输出结果:
   
   
'a'
'b'
'c'
3、QString转String:
一般使用unicode()方法将QString 转换乘String
   
   
from PyQt4.QtCore import *
qStr = QString('abc')
Str = unicode(qStr)
print Str
或者使用str()函数直接转换
    
    
from PyQt4.QtCore import *
qStr = QString('abc')
Str = str(qStr)
print Str

对于中文,则需要注意编码问题,在GUI编程中,QLineEdit等编辑框获得的文本是使用unicode编码的QString。一般是将QString转换成utf8编码,在转换成String时,再使用utf8解码。
   
   
from PyQt4.QtCore import *
myText = unicode(self.myLineEdit.text().toUtf8(),'utf8', 'ignore')
在直接创建QString时,记住中文前面要加u,即使用unicode编码
   
   
from PyQt4.QtCore import *
qStr = QString(u'一个')
Str = unicode(qStr.toUtf8(),'utf-8','ignore')
print Str
4、String转QString:
直接用String创建QString对象:
   
   
from PyQt4.QtCore import *
Str = u'一个'
qStr = QString(Str)
print qStr
更深入的讲解可参考:
http://blog.chinaunix.net/uid-200142-id-4018863.html
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值