如题,解决python中用pyqt时中文乱码问题的解决方法:
在中文字符串前面加上u,如u'你好,世界',其他网上的方法没有多去探究,python的版本也会影响解决方法,故这里只推荐这种。
(有人说用tolocal8bit函数也可以,我试了下,貌似不行)请看例子:
1
2
3
4
5
6
7
8
9
|
#coding=utf-8
from pyqt4 import qtgui, qtcore
s = qtcore.qstring(u '你好(hello)世界(world)' )
t = s.tolocal8bit()
u = unicode (t, 'gbk' , 'ignore' )
print t
print u
|
这段程序的输出是:
1
2
|
���(hello)����(world)
你好(hello)世界(world)
|
【注】在使用控件,需要使用中文时,在要显示的字符串前面加上u即可,如(下面两句代码是在类中的,不可直接执行):
1
2
3
4
|
btn_quit = qtgui.qpushbutton(u "关闭" , self )
reply = qtgui.qmessagebox.question( self , u '消息对话框' ,
"are you sure to quit?" , qtgui.qmessagebox.yes, qtgui.qmessagebox.no)
|
以上这篇解决python中使用pyqt时中文乱码问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/q460128629/article/details/77447053