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

yipeiwu_com5年前Python基础

如题,解决Python中用PyQt时中文乱码问题的解决方法:

在中文字符串前面加上u,如u'你好,世界',其他网上的方法没有多去探究,Python的版本也会影响解决方法,故这里只推荐这种。

(有人说用toLocal8bit函数也可以,我试了下,貌似不行)请看例子:

#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

这段程序的输出是:

���(hello)����(world)
你好(hello)世界(world)

【注】在使用控件,需要使用中文时,在要显示的字符串前面加上u即可,如(下面两句代码是在类中的,不可直接执行):

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时中文乱码问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

flask + pymysql操作Mysql数据库的实例

flask + pymysql操作Mysql数据库的实例

安装flask-sqlalchemy、pymysql模块 pip install flask-sqlalchemy pymysql ### Flask-SQLAlchemy的介绍...

python 判断三个数字中的最大值实例代码

python 判断三个数字中的最大值,具体代码如下所示: #判断三个数中最大值 n1= int(input('please enter the firest number:')) n...

Python实现的文本对比报告生成工具示例

Python实现的文本对比报告生成工具示例

本文实例讲述了Python实现的文本对比报告生成工具。分享给大家供大家参考,具体如下: 借助于difflib的功能,可以针对我们的使用情况进一步进行功能的聚合。我想要的功能是输入两个文件...

Python 动态导入对象,importlib.import_module()的使用方法

背景 一个函数运行需要根据不同项目的配置,动态导入对应的配置文件运行。 解决 文件结构 a #文件夹 │a.py │__init__.py b #文件夹 │b.py │__i...

详解利用Python scipy.signal.filtfilt() 实现信号滤波

本文将以实战的形式基于scipy模块使用Python实现简单滤波处理,包括内容有1.低通滤波,2.高通滤波,3.带通滤波,4.带阻滤波器。具体的含义大家可以查阅大学课程,信号与系统。简单...