Qt5.x windows中文乱码问题的解决方法(两种乱码问题)
2015-08-15 20:40
459 查看
Qt5.x windows中文乱码问题的解决方法(两种乱码问题)
中文乱码分为两种情况,
第一:代码编写中出现中文字符,解决方法如下(需要VS2013和Qt5)
xxx.cpp
第二:通过qt从外面获取的中文字符串,该字符串已经赋值给QString,需要将其转化为string或其他类型变量,该应用常常在通过QWidget获取文件路径是出现,解决方法如下,
中文乱码分为两种情况,
第一:代码编写中出现中文字符,解决方法如下(需要VS2013和Qt5)
xxx.cpp
#include "PCLFun.h" #include "D:\CODE\C++ code\PCLFun\build\ui_PCLFun.h" //需要添加的代码,防止中文出现乱码 #if _MSC_VER >= 1600 #pragma execution_character_set("utf-8") #endif PCLFun::PCLFun(QWidget *parent) : QMainWindow(parent), ui(new Ui::PCLFun) { ui->setupUi(this); this->setWindowTitle("PCL功能学习"); . . . } …
第二:通过qt从外面获取的中文字符串,该字符串已经赋值给QString,需要将其转化为string或其他类型变量,该应用常常在通过QWidget获取文件路径是出现,解决方法如下,
//需要引用的头文件 #include <qtextcodec.h> … void PCLFun::openPCD() { //限定打开文件类型 QString filter; filter = "PCD file (*.pcd *.ply *.vtk *.obj)"; QDir dir; QString fileName = QFileDialog::getOpenFileName(this, QString(tr("打开PCD文件")), "/", filter); if (fileName.isEmpty() == true) return; //根据fileName信息得到文件的:路径、文件名、后缀、不包括后缀的文件名等信息 QString file_path, file_name, file_suffix, file_basename; QFileInfo file_info = QFileInfo(fileName); //////将含有中文的QString转化为char*关键之处////////////// QTextCodec *pCodec = QTextCodec::codecForName("GBK"); QByteArray data = pCodec->fromUnicode(fileName); char * fileName_string = data.data(); ////////////////////////////////////////////////////////////////////// } …
相关文章推荐
- QTP/UFT 11.5 特性和安装的配置要求
- 【Qt OpenGL教程】28:贝塞尔曲面
- QT简单绘图
- Ubuntu安装Qt及QT Creator
- 【Qt OpenGL教程】27:阴影
- Ubuntu Qt5.5 Mysql driver
- 【Qt】]两种解决Qt5显示中文乱码的方法
- 如何将QVTKWidget添加到QtDesigner里
- Qt控件随窗口大小变化的设置方法(QTDesigner)
- QT 的信号与槽机制介绍
- 关于Qt中自定义槽和信号的简单示例
- MQTT broker and client
- Qt打包生成exe程序
- 关于Qt5 QML中Canvas画布叠加区域为透明时,如何传递鼠标事件到下层画布。
- QToolbutton实现图标和文字居中,qss
- 《转》PyQt4 精彩实例分析* 实例2 标准对话框的使用
- win32+QT 实现exe中执行返回的网页内容重定向到txt文件,根据需求读取里面内容
- 《转》QT界面怎么使控件随窗口大小变化一直居中显示
- QT5.3无法自动调用incomingConnection函数的问题
- QTP和Selenium对比