Qt编程问题之--源码中的中文

不知道大家是否曾经遇到过windows环境编译器vs2019下,源码中有汉字字符串常量时,编译报错:error: C2001: 常量中有换行符,源码类似如下:

    QStringList titles;
    titles<< "名称";

Qt6 + vs2019 64bit编译器:一般缺省已经处理好这种情况,至于为什么没有去研究。总之,Qt6+vs2019 64bit不会报错。

但是在Qt5.15及以下版本就会报错。网上有很多似是而非的解决方法,其实都治标不治本。解决方案其实很简单,去看看微软相关的文档就明白了。https://docs.microsoft.com/zh-cn/cpp/build/reference/source-charset-set-source-character-set?view=msvc-160

https://docs.microsoft.com/zh-cn/cpp/build/reference/execution-charset-set-execution-character-set?view=msvc-160

所以,只要在.pro文档中添加如下设置就能解决问题:

msvc:QMAKE_CXXFLAGS += -execution-charset:utf-8
msvc:QMAKE_CXXFLAGS += -source-charset:utf-8

顺带说一下,Qt6已经没有QTextCodec了,如果需要用到相关的多字节文本编解码请参看

QStringConverter。官方有使用说明,例子如下:
 QByteArray encodedString = "...";
 auto toUtf16 = QStringDecoder(QStringDecoder::Utf8);
 QString string = toUtf16(encodedString);
 
 QString string = "...";
 auto fromUtf16 = QStringEncoder(QStringEncoder::Utf8);
 QByteArray encodedString = fromUtf16(encodedString);

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Qt高级编程(英文版)源码是指该书的示例代码和实现,以供读者学习和参考。这本书是一本以Qt为主题的高级编程书籍,其包含了大量的实例,详细介绍了Qt框架的各种特性和使用方法。通过学习这本书,读者可以深入了解Qt,掌握使用Qt进行高级编程的技能。 这本书的源码包括了各种Qt应用程序的实现,如窗口、对话框、工具栏、菜单栏、状态栏、画布等等。每个示例都涵盖了Qt框架的不同功能,并且都有详细的代码注释,方便读者理解和学习。 学习Qt高级编程需要对C++编程有一定的基础,因为Qt使用的是C++语言。同时,也需要对GUI编程有一定的了解,因为Qt主要用于GUI编程。读者需要认真阅读书籍的章节,并结合代码实例进行调试和运行,以便更好地掌握Qt的各种特性和用法。 总之,Qt高级编程(英文版)源码是一份非常有价值的资源,适合想深入学习Qt编程的人。通过学习该书和实例代码,读者可以掌握Qt框架,快速开发出高质量的应用程序。 ### 回答2: Qt高级编程(英文版)源码是针对Qt框架进行高级编程的示例代码,旨在帮助开发人员了解和掌握Qt的高级功能及其实现方法。它是一本英文并列的教材,不仅提供了详细的指导文本,还提供了完整可运行的示例程序,让读者可以快速上手并实践所学。 Qt高级编程包含的主要内容包括Qt的多线程编程、网络编程、OpenGL编程、XML和数据库编程、3D编程、Widget和QML编程、Web编程等方面的知识。它不仅适用于初学者,也适合已掌握Qt基础知识的开发人员深入学习Qt高级编程技巧。 通过Qt高级编程(英文版)源码的学习,开发人员能够深入理解Qt框架的内部机制和高级功能,并能够利用这些知识进行更加复杂和高级的项目开发。同时,源码包含的丰富例子也可以作为实践和开发的参考,提高开发效率,降低开发难度。 ### 回答3: Qt高级编程(英文版)源码Qt开发不可或缺的参考书籍之一,它详细地讲解了Qt的高级编程技术和应用。书所提供的源码是配合书代码的实际演示而编写的,可以帮助读者更深入地理解书的内容。 Qt高级编程(英文版)源码主要包含了一些基于Qt框架的高级编程技术,如网络编程、多线程编程、插件化编程等。通过这些源码的实际演示,读者可以学会如何使用Qt框架来进行高效、可靠的编程。 例如,源码涉及到了Qt的网络模块,演示了如何使用Qt实现TCP/IP协议和HTTP协议的通信。此外,源码还涉及到Qt的多线程编程,包括如何创建线程、线程间的通信等内容,这对于编写高性能的Qt程序非常重要。 除了基础的网络和多线程编程Qt高级编程(英文版)源码还涉及到诸如自定义控件、Qt插件、Qt Quick编程等一些更加高级的主题。对于想要深入学习Qt开发的读者来说,这些源码是非常有价值的参考资料。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值