解决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设计】。

相关文章

Appium+python自动化怎么查看程序所占端口号和IP

Appium+python自动化怎么查看程序所占端口号和IP

简介 这篇博文和分类看似没有多大关系,但是也是从上一篇衍生出来的产物,因为涉及到 FQ工具 Lantern ,就算是给关注和支持的小伙伴们拓展一下眼界和知识面。而且好多人都阅读了上一篇...

根据tensor的名字获取变量的值方式

需求: 有时候使用slim这种封装好的工具,或者是在做滑动平均时,系统会帮你自动建立一些变量,但是这些变量只有名字,而没有显式的变量名,所以这个时候我们需要使用那个名字来获取其对应的值。...

根据DataFrame某一列的值来选择具体的某一行方法

根据DataFrame某一列的值来选择具体的某一行方法

原始数据的DF: 此时,我要选择列名isInfected为“手足口病”的样本行: 总结:选择DataFrame里面某一列等于某个值的所有行,用一条命令即可解决即: df.loc[...

python解析模块(ConfigParser)使用方法

测试配置文件test.conf内容如下: 复制代码 代码如下:[first]w = 2v: 3c =11-3 [second] sw=4test: hello 测试配置文件中有两个区域,...

删除DataFrame中值全为NaN或者包含有NaN的列或行方法

如果存在以下DataFrame 年龄 性别 手机号 0 2 男 NaN 1 3 女 NaN 2 4...