Qt解决中文显示乱码问题

简介: Qt解决中文显示乱码问题

我相信所有用过Qt都遇到过中文乱码问题。下面列出了我经常用的几种解决方法。


方法一

#include "QtUtf8.h"
#include <QTextCodec> // 添加头文件
QtUtf8::QtUtf8(QWidget *parent)
: QMainWindow(parent)
{
    ui.setupUi(this);
    QTextCodec* codec = QTextCodec::codecForName("GBK");//添加编码格式
    ui.label->setText(codec->toUnicode("林夕爱吃面皮肉夹馍"));//使用方式
}


方法二

该方法有点复杂,懒人请跳过。

Step1:使用Notepad++打开对于的文件将编码格式转成UTF-8-BOM编码。

Step2:使用QStringLiteral(“中文字符”)

#include "QtUtf8.h"
#include <QString> // 添加头文件
QtUtf8::QtUtf8(QWidget *parent)
: QMainWindow(parent)
{
    ui.setupUi(this); 
  ui.label->setText(QStringLiteral("林夕爱吃面皮肉夹馍"));//使用方式
}

方法三

我最喜欢的方法没有之一。最爱。太方便了。万物皆可u8

#include "QtUtf8.h"
QtUtf8::QtUtf8(QWidget *parent)
: QMainWindow(parent)
{
    ui.setupUi(this); 
  ui.label->setText(u8"林夕爱吃面皮肉夹馍");//使用方式
}


效果图

方法四

最近把环境升级了一下,发现Qt6版本不能使用方法一中的方法了。所以,我又找到了一种一刀切的方法。

就是将Qt Create 的环境全部改为utf-8,但是这样存在一个弊端就是会有编码不是utf-8的项目就会存在打不开的问题。这个时候就需要手动将 xxx.pro文件通过方式二将其修改为utf-8再进行打开。


设置系统默认编码

1、第一步 任意打开一个项目,点击左侧的项目。

2、点击左上角的Manage Kits… 按钮。

3、点击左侧的环境

4、将Text codec for tools 设置为utf-8 即可

设置文件默认编码

1、点击左侧文本编辑器。


2、 第二步,设置文件编码。默认编码选择utf-8, utf-8 bom 设置为 如果有编码是utf-8则添加

到这里就全部设置完毕咯。

要是有更好的方法,可以评论区留言哦

目录
相关文章
|
1月前
|
SQL 存储 算法
Qt编码之谜:乱码问题的成因与解决策略
Qt编码之谜:乱码问题的成因与解决策略
41 0
|
1月前
|
网络协议 C++
C++ Qt开发:QTcpSocket网络通信组件
`QTcpSocket`和`QTcpServer`是Qt中用于实现基于TCP(Transmission Control Protocol)通信的两个关键类。TCP是一种面向连接的协议,它提供可靠的、双向的、面向字节流的通信。这两个类允许Qt应用程序在网络上建立客户端和服务器之间的连接。Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍如何运用`QTcpSocket`组件实现基于TCP的网络通信功能。
38 8
C++ Qt开发:QTcpSocket网络通信组件
|
3月前
|
SQL 数据库 C++
C++ Qt开发:Charts与数据库组件联动
Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍`Charts`组件与`QSql`数据库组件的常用方法及灵活运用。在之前的文章中详细介绍了关于`QCharts`绘图组件的使用方式,本章将继续延续这个知识点,通过使用`QSql`数据库模块动态的读取某一个时间节点上的数据,当用户点击查询数据时则动态的输出该事件节点的所有数据,并将数据绘制到图形组件内,实现动态查询图形的功能。
35 0
C++ Qt开发:Charts与数据库组件联动
|
4天前
|
开发框架 数据可视化 编译器
Qt的魅力:探索跨平台图形界面开发之旅
Qt的魅力:探索跨平台图形界面开发之旅
15 1
|
20天前
|
图形学 Python 容器
【PyQt5桌面应用开发】3.Qt Designer快速入门(控件详解)
【PyQt5桌面应用开发】3.Qt Designer快速入门(控件详解)
40 0
|
28天前
qt开发使用camera类获取摄像头信息并拍照保存
qt开发使用camera类获取摄像头信息并拍照保存
|
1月前
|
监控 C++
C++ Qt开发:QProcess进程管理模块
Qt是一个跨平台的C++图形库,简化了窗体应用开发,支持通过拖放组件提升效率。本章节关注`QProcess`组件,它用于控制和管理进程,例如执行命令、运行可执行文件及与外部进程通信。`QProcess`提供多种方法如`start`、`waitForStarted`和`waitForFinished`等,实现启动、监控和交互。示例展示了如何使用`QProcess`获取系统进程和信息,通过`tasklist`和`systeminfo`命令,并将结果展示在`QTreeWidget`中。
30 0
C++ Qt开发:QProcess进程管理模块
|
1月前
|
存储 C++ 网络架构
C++ Qt开发:QUdpSocket实现组播通信
Qt教程:使用`QUdpSocket`实现UDP组播通信。通过设置套接字选项、绑定端口、加入和离开组播组,以及发送和接收数据报,简化跨平台窗体应用开发。关键函数包括`setSocketOption`设置多播TTL,`bind`绑定地址和端口,`joinMulticastGroup`加入组播,`leaveMulticastGroup`退出,`writeDatagram`发送,和`readDatagram`接收数据报。
28 1
C++ Qt开发:QUdpSocket实现组播通信
|
1月前
|
存储 网络安全 C++
C++ Qt开发:QUdpSocket网络通信组件
Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍如何运用`QUdpSocket`组件实现基于UDP的网络通信功能。与`QTcpSocket`组件功能类似,`QUdpSocket`组件是 Qt 中用于实现用户数据报协议(UDP,User Datagram Protocol)通信的类。UDP 是一种无连接的、不可靠的数据传输协议,它不保证数据包的顺序和可靠性,但具有低延迟和简单的特点。
21 0
C++ Qt开发:QUdpSocket网络通信组件
|
1月前
|
数据可视化 数据库 C++
Qt 5.14.2揭秘高效开发:如何用VS2022快速部署Qt 5.14.2,打造无与伦比的Windows应用
Qt 5.14.2揭秘高效开发:如何用VS2022快速部署Qt 5.14.2,打造无与伦比的Windows应用

推荐镜像

更多