qt5 QLabel中文 显示乱码

jhams 2016-01-05 03:57:31
Qlabel,setWindowTitle里的中文都是乱码,
比如:
QLabel* label_camera_choose = new QLabel("测试:");
加了 #pragma execution_character_set("utf-8") 也不行,
把文件存成utf-8格式也不行,
qt版本是:
Qt Creator 3.4.1 (opensource)
Based on Qt 5.4.2 (MSVC 2013, 32 bit),
怎么解决呢?
...全文
1328 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
冷静忍耐 2016-01-06
  • 打赏
  • 举报
回复
引用 4 楼 jhams 的回复:
[quote=引用 3 楼 u013466477 的回复:] 是代码里面是乱码还是运行的程序显示乱码?
是运行显示乱码[/quote] 加上tr("测试")应该可以,试一下,但这不是个好方法。 确定你的源码是不带BOM的utf8吗
jhams 2016-01-06
  • 打赏
  • 举报
回复
引用 3 楼 u013466477 的回复:
是代码里面是乱码还是运行的程序显示乱码?
是运行显示乱码
冷静忍耐 2016-01-06
  • 打赏
  • 举报
回复
引用 7 楼 jhams 的回复:
[quote=引用 5 楼 u013466477 的回复:] [quote=引用 4 楼 jhams 的回复:] [quote=引用 3 楼 u013466477 的回复:] 是代码里面是乱码还是运行的程序显示乱码?
是运行显示乱码[/quote] 加上tr("测试")应该可以,试一下,但这不是个好方法。 确定你的源码是不带BOM的utf8吗[/quote] 编译报错: E:\work\code\Projects\camera\main.cpp:21: error: C3861: 'tr': identifier not found[/quote] 编译不过是因为没有QObject头文件或者QObject::tr("测试"); QStringLiteral("测试")如果需要这样,那你代码不是utf8,如果代码是Qt默认的utf8,在Qt5下不管用什么方式写都不会有中文乱码
jhams 2016-01-06
  • 打赏
  • 举报
回复
引用 6 楼 shihoongbo 的回复:
[quote=引用 2 楼 jhams 的回复:] [quote=引用 1 楼 shihoongbo 的回复:] QStringLiteral(""),再用记事本另存为utf8
是这样么: QString Literal("测试"); QLabel* label_choose = new QLabel(Literal) 还是不行啊[/quote] lable.setText(QStringLiteral("测试"))[/quote] 这样能显示了
jhams 2016-01-06
  • 打赏
  • 举报
回复
引用 5 楼 u013466477 的回复:
[quote=引用 4 楼 jhams 的回复:] [quote=引用 3 楼 u013466477 的回复:] 是代码里面是乱码还是运行的程序显示乱码?
是运行显示乱码[/quote] 加上tr("测试")应该可以,试一下,但这不是个好方法。 确定你的源码是不带BOM的utf8吗[/quote] 编译报错: E:\work\code\Projects\camera\main.cpp:21: error: C3861: 'tr': identifier not found
未狂 2016-01-06
  • 打赏
  • 举报
回复
引用 2 楼 jhams 的回复:
[quote=引用 1 楼 shihoongbo 的回复:] QStringLiteral(""),再用记事本另存为utf8
是这样么: QString Literal("测试"); QLabel* label_choose = new QLabel(Literal) 还是不行啊[/quote] lable.setText(QStringLiteral("测试"))
冷静忍耐 2016-01-05
  • 打赏
  • 举报
回复
是代码里面是乱码还是运行的程序显示乱码?
jhams 2016-01-05
  • 打赏
  • 举报
回复
引用 1 楼 shihoongbo 的回复:
QStringLiteral(""),再用记事本另存为utf8
是这样么: QString Literal("测试"); QLabel* label_choose = new QLabel(Literal) 还是不行啊
未狂 2016-01-05
  • 打赏
  • 举报
回复
QStringLiteral(""),再用记事本另存为utf8

16,212

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧