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

yipeiwu_com6年前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设计】。

相关文章

基于Python的PIL库学习详解

摘要 对于图像识别,大量的工作在于图像的处理,处理效果好,那么才能很好地识别,因此,良好的图像处理是识别的基础。在Python中,有一个优秀的图像处理框架,就是PIL库,本博文会分模块...

python列表的常用操作方法小结

本文实例为大家了Python中列表(List)的详解操作方法,供大家参考,具体内容如下 1.创建列表。只要把逗号分隔的不同的数据项使用方括号括起来即可 List = ['wade','j...

Python for循环与getitem的关系详解

这篇文章主要介绍了Python for循环与getitem的关系详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 一个类里面如果由_...

python机器学习实战之最近邻kNN分类器

K近邻法是有监督学习方法,原理很简单,假设我们有一堆分好类的样本数据,分好类表示每个样本都一个对应的已知类标签,当来一个测试样本要我们判断它的类别是, 就分别计算到每个样本的距...

python面向对象 反射原理解析

一、静态方法(staticmethod)和类方法(classmethod) 类方法:有个默认参数cls,并且可以直接用类名去调用,可以与类属×××互(也就是可以使用类属性) 静态方法:让...