首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Qt】]Qt5中文乱码

升级到Qt5.X之后,原先解决的Qt显示中文乱码的方法突然不适用了,找了很多方式来解决这个问题 第一种: 在公司代码里看到的方法,先将对应的cpp文件用windows自带的记事本打开,另存为UTF-8格式...,然后在代码中,遇到中文字符,使用QStringLiteral("中文")进行修饰 这种方式每次新建一个class就要切出去用记事本编辑一下实在麻烦,而且每个中文字符串都要用QStringLiteral...,实在麻烦 后来有找到了个方法 第二种: 在头文件申明中加上 #pragma execution_character_set("utf-8") 一切OK了 2016-10-8补充 PS:方法2只是用在Qt5...最初的某个版本上大概是两三年前的某个版本,当初使用是可以解决中文显示问题 最近用Qt5.6 5.7两个版本,这个方法已经不行了。...环境:VS2015   Qt5.7 QString str1=QStringLiteral("中文字符");   QString str2=QString::fromLocal8bit("中文字符")

3.8K50
您找到你想要的搜索结果了吗?
是的
没有找到

12.QT4.7.4-解决WIN平台和Linux平台中文乱码,QLineEdit右击菜单中文显示

1.解决Win平台中文显示 1.1首先解决win平台上中文显示乱码问题 1)首先查看qt creator的编码格式 通过->编辑->选择编码 查看. 2)如果qt creator的编码格式是utf8,并且项目里的汉字是...步骤: 1)搜索qt_zh_CN.ts ,找到位于: C:\Qt\4.7.4\translations\qt_zh_CN.ts 2)在开始程序里打开qt预言家(linguist.exe) ?...2.解决Linux平台中文显示 2.1解决乱码,无法打印中文 有可能是qt配置界面的字体不支持中文 1)输入命令qtconfig 2)进入Qt配置界面,如下图所示,如果发现乱码,那就说明qt配置字体错了...3)点击第2格,然后选择字体,只要能显示中文出来,便可以: ? 4.设置好后,退出并保存,然后运行自己写的记事本程序效果: ?...PS:Linux下的中文输入法默认输入是UTF-8,所以需要保证qt creator编码格式也是UTF-8,否则输入中文会乱码 2.2其次解决按钮、QLineEdit等编辑组件右击菜单等英文问题 1)输入

2.5K70

什么是linux Qt

Qt Linguist 等部分 Qt 支持所有 Unix 系统,当然也包括 Linux,还支持 WinNT/Win2k,Win95/98 平台。...: 优良的跨平台特性: Qt支持下列操作系统: Microsoft Windows 95/98, Microsoft Windows NT, Linux, Solaris, SunOS, HP-UX,...但是 Motif/CDER 的价格非常昂贵,在这同时微软的 Windows 图 形界面发展速度非常快,而 Unix 界的后起之秀 Linux 也急需一个可靠并且免费的图形界面。...由于 Linux 界的老大 RedHat 不喜欢 KDE/Qt 的版权,因此 RedHat 甚至专门派出了几个全职程序员来加入 GNOME 进行开发工作,于是一场同 Motif VS Openlook...当时双方的开发者在网络 上炒得天翻地覆,连 Linux 之父 Linus 只是说了一句喜欢用 KDE 都倍受指责。

6K20

Qt: 中文-常量中有换行符

今天说一说Qt: 中文-常量中有换行符[通俗易懂],希望能够帮助大家进步!!! 参考【2】说vs的编译器对中文的支持不好。 根据【4】在Qt5中把代码更改如下: 还是会产生常量中有换行符的错误。...,但是诡异的是其他两处有中文的地方都没有错误 那么请把中文的冒号:改成英文的冒号: 就编译成功了,不知道是什么道理,可能是在UTF-8编码,它们是一样的?...参考: 【1】Qt5 - 中文 - 常量中有换行符 http://bbs.csdn.net/topics/390443779 【2】关于qt5中“常量中有换行符”的error http://www.qtcn.org...t52355.html 【3】Qt Creator 源代码中如果有中文,会编译报错 http://www.oschina.net/question/179574_107222 【4】Qt5中文乱码解决方法

1.3K40

Qt中translate、tr关系 与中文问题

用tr包住英文(最最推荐的用法,源码英文,然后提供英文到其他语言的翻译包) (2b) 用tr包住中文(源码用中文,然后提供中文到其他语言的翻译包) 注意哦,如果你正在用tr包裹中文字符,却不属于(2b...),那么,这是个信号: 你在误用tr 你需要的是QString,而不是tr 如果你确实属于(2b),请做好心理准备,你可能还会遇到很多困难,请考虑Qt国际化(源码含中文时)的点滴分析 tr 是做什么的?...简单回顾QString的中文问题 QString 采用的unicode,在中文支持上不存在任何问题 "我是中文" 这是传统的 const char * 的窄字符串 当将窄字符串赋值到QString时,...(const char *); /  QT_TR_FUNCTIONS /  virtual int qt_metacall(QMetaObject::Call, int, void **); /  private...: 其中的宏QT_TR_FUNCTIONS # define QT_TR_FUNCTIONS /  static inline QString tr(const char *s, const char

3.7K20

Qt中文处理的简单方法

QT是一套很不错的界面开发库,而且考虑到了跨平台的要求,使用也相对比较容易上手。...我也刚刚才学习用QT开发,发现它对中文的处理做的不是很好,或者更贴切的是做的不够智能吧,如果在字符串中输入中文,显示的就会是乱码。    ...下面就介绍一个简单的方法,让我们的中文正确显示出来,先看一段程序,该程序主要功能就是显示一个窗口,窗口上面的按钮显示中文。  ...代码分析:   上面的两段代码基本上是大同小异,没有多大的差别,程序的具体含义这里我不做介绍,只讲一下两段代码的区别,见上例中代码的黄色部分,该部分就是为中文显示所做出的改进。  ...有关国际化的详细情况,请参考Qt国际化文档。  注意也有一些Qt内置类为不同的字符串调用tr()。这些字符串使用英语,所以对于完整的翻译,编解码器将被这些字符串需要。

1.3K20

处理 Qt 中文提示 “常量中有换行符”

Qt 自建的 Widget 窗口生成的 cpp 文件中,直接写中文编译时会提示错误。内容是 “常量中有换行符”。如下图所示: ?...要解决这个问题很简单,使用 notepad++ 打开你添加了中文的 cpp 文件,将编码转为 UTF8 编码(有 BOM 模式),如下所示: ?...这样再去编译的时候,一定不会再报错了,但是你会发现一个新的问题,就是编译出来的程序中文是乱码! ?...修改 Qt 默认设置让 UTF8 文件自动添加 BOM 为了让自己不用每次输入中文后都手动转换文件编码,可以设置 Qt 编辑器默认给 UTF8 格式无 BOM 的文档添加 BOM: ?...这样你就不用担心了,你可以随意输入中文在代码中,但记得要用 QStringLiteral 宏包裹一下。 Post Views: 9 相关

11.9K51

QT应用编程: 设置QT标准对话框为中文字体

一、环境介绍 操作系统介绍:win10 64位 QT版本: 5.12.6 二、需要提前了解的知识 QT国际化支持: https://blog.csdn.net/xiaolong1126626497/article.../details/113970945 三、问题原因 QT自带的标准对话框QFontDialog、QColorDialog、QMessageBox默认的文字全是英文的,QLineEdit和QTextEdit...去QT官网下载对应版本的源码包,解压之后在源码包搜索qt_xxx.ts,中文对应的就是qt_zh_CN.ts文件。 2....下面图片是翻译之后的效果: 五、多个翻译文件如何加载的问题 在解决标准对话框为中文字体的时候,如果本来工程里就需要支持国际化,也就是说工程本来就有翻译文件需要加载, 这时又需要加载QT的翻译文件,这个问题如何解决...先说明,工程同一时刻只能加载一个翻译文件,为了能同时使用工程原来的翻译文件,也想使用QT的翻译文件,可以将两个ts文件手动合在一起,然后再生成一个新的qm文件即可解决。

1.3K30
领券