脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - Python - 解决python中使用PYQT时中文乱码问题

解决python中使用PYQT时中文乱码问题

2021-07-13 00:40哎呀呀个呸 Python

今天小编就为大家分享一篇解决python中使用PYQT时中文乱码问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

如题,解决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

延伸 · 阅读

精彩推荐