导航:首页 > 源码编译 > qt编译器运行时出现乱码

qt编译器运行时出现乱码

发布时间:2022-08-09 08:06:12

❶ Qt编程发布后运行中文乱码的问题

强调发布后是什么意思? 乱码和发布有什么关系?
找到main函数 里面加入以下代码
QByteArray line = file.readAll();
QString str(line);
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("GBK"));
解决显示中文乱码的问题

❷ 为什么我的QT经常出现乱码

这个问题我也遇到过,因为家里机器配置不怎么样,而且机器很老了有的东西跟不上!出现那种问题是很正常的!退出来再进又会好的!是吧?没关系!

❸ 求Qt出现乱码的具体解决办法

QTextCodec::setCodecForCStrings(QTextCodec::codecForLocale());
QTextCodec::setCodecForTr(QTextCodec::codecForName("GB2312"));

#include <QTextCodec>

❹ openSUSE下用Qt写的程序中文乱码怎么破

Centos6.3自身是带QT4.6.2的,在装系统时可以选择安装,但是没有qvfb工具,所以又自己重新编译了qt-x11的4.5.0版本。

qt各版本版本下载地址(在网上找的很多博文里给的链接都失效了,下面这个链接貌似还比较新,现在可以用):

ftp://ftp.qt-project.org/qt/source/
在ftp资源里找到 qt-x11-opensource-src-4.5.0、qt-embedded-linux-opensource-src-4.5.0这两个源码包并下载(tar.gz或tar.bz2包都有,网速不好的话看哪个小下载哪个)。

下载后将两个源码包分别解压,qt-x11-opensource-src-4.5.0解压一份,qt-embedded-linux- opensource-src-4.5.0解压两份,分别命名为qt-embedded-linux-opensource-src-4.5.0-x86 和 qt-embedded-linux-opensource-src-4.5.0-arm 。

开始编译安装:

一、X11编译:
1.进入qt-x11-opensource-src-4.5.0源码目录。

./configure -no-openssl
在我这里必须加上-no-openssl选项,否则在make过程中,编译到ssl时会报错。出错信息为:
ssl/qsslsocket_openssl_symbols_p.h:264: error: variable or field ‘q_sk_free’ declared void
ssl/qsslsocket_openssl_symbols_p.h:264: error: ‘STACK’ was not declared in this scope
ssl/qsslsocket_openssl_symbols_p.h:264: error: ‘a’ was not declared in this scope
ssl/qsslsocket_openssl_symbols_p.h:265: error: ‘STACK’ was not declared in this scope
ssl/qsslsocket_openssl_symbols_p.h:265: error: ‘a’ was not declared in this scope
……
……

默认安装路径为 /usr/local/Trolltech/Qt-4.5.0。可用--prefix 指定其他安装路径。

2. gmake # linux下一般可直接用make代替gmake。如果要加快编译速度,就加上 -jx ,x表示最大的线程数。

3. gmake install

二、qt-embedded-x86编译:

1.进入qt-embedded-linux-opensource-src-4.5.0-x86源码目录。
./configure -prefix /usr/local/Trolltech/QtEmbedded-4.5.0-x86 -embedded x86 -no-openssl -qt-gfx-qvfb -qt-kbd-qvfb -qt-mouse-qvfb
先后配置了安装目录、嵌入式架构(x86)。同时也跟X11版本一样,配置了 -no-openssl,没有这一项的话,make的过程中会出现跟编译X11时一样的错误。再后面的几项是为了更好的配合qvfb,网上说如果没有这几 项,安装好qt-embedded-x86后想在qvfb上调试程序时,会出现类似下面的错误:
Error opening buffer device /dev/fb0QScreenLinuxFb::connect: No such file or directory

2. gmake
跟x11版一样
3. gamke install

三、qt-embedded-arm:
与前面两个不同,在编译arm版本的qt-embedded前,必须确认已经安装了交叉工具链,编译过程中要生成许多arm架构的库,所以必须有 arm-linux-gcc、arm-linux-g++等工具。我用的是友善提供的arm-linux-gcc-4.5.1版本。
1. 进入qt-embedded-linux-opensource-src-4.5.0-arm源码目录。
./configure -prefix /usr/local/Trolltech/QtEmbedded-4.5.0-arm -embedded arm -no-openssl -qt-libpng
指定了安装路径、嵌入式架构。同时也跟X11版本一样,配置了 -no-openssl,没有这一项的话,make的过程中会出现跟编译X11时一样的错误。
另外,还增加了一项, -qt-libpng,这个选项应该是关于png相关的库,指定用qt自带的png库。如果没有这一项,我这里会出现如下错误:
image/qpnghandler.cpp: In member function 'virtual QVariant QPngHandler::option(QImageIOHandler::ImageOption) const':
image/qpnghandler.cpp:950:35: warning: 'png_info_struct::width' is deprecated (declared at /opt/FriendlyARM/toolschain/4.5.1/lib/gcc/arm-none-linux-gnueabi/4.5.1/../../../../arm-none-linux-gnueabi/include/png.h:639)
image/qpnghandler.cpp:950:35: warning: 'png_info_struct::width' is deprecated (declared at /opt/FriendlyARM/toolschain/4.5.1/lib/gcc/arm-none-linux-gnueabi/4.5.1/../../../../arm-none-linux-gnueabi/include/png.h:639)
image/qpnghandler.cpp:950:55: warning: 'png_info_struct::height' is deprecated (declared at /opt/FriendlyARM/toolschain/4.5.1/lib/gcc/arm-none-linux-gnueabi/4.5.1/../../../../arm-none-linux-gnueabi/include/png.h:640)
image/qpnghandler.cpp:950:55: warning: 'png_info_struct::height' is deprecated (declared at /opt/FriendlyARM/toolschain/4.5.1/lib/gcc/arm-none-linux-gnueabi/4.5.1/../../../../arm-none-linux-gnueabi/include/png.h:640)
make[1]: *** [.obj/release-shared-emb-arm/qpnghandler.o] 错误 1
make[1]: *** 正在等待未完成的任务....
make[1]: Leaving directory `/root/qt4.5.0/qt-embedded-linux-opensource-src-4.5.0-arm/src/gui'
make: *** [sub-gui-make_default-ordered] 错误 2

看起来像是我的交叉工具链跟这个QT版本匹配的不太好,Qt好像不太兼容交叉工具链的png.h头文件中定义的数据结构。加上 -qt-libpng 可解决此问题。

四、qvfb:
这时QT就已安装成功。但是还需要额外安装qvfb。
进入qt-x11-opensource-src-4.5.0源码包目录,然后
cd tools/qvfb
在qvfb源码目录下运行 make 会在qt-x11-opensource-src-4.5.0/bin下生成qvfb,我们将它至/usr/local/Trolltech/QtEmbedded-4.5.0-x86/bin下即可。

end:
到这里,QT的开发环境基本就搭建好了,利用 qt-embedded-x86 和 qvfb 工具可以很方便的调试QT程序,调试好的程序再经 qt-embedded-arm 编译就可在开发板上运行(还有个小问题,我现在编译好的QT程序虽然可以在开发板上运行,但是运行时触摸屏不能用,只能用USB鼠标控制,想支持触摸屏貌 似还需要移植tslib库,等我折腾完了再回来把相关内容补充上)。

❺ QT乱码怎么解决

方法/步骤

1
在一个linedit控件里面,我用了setplaceholdertext的方法,来显示文字,如下图

2
但是一跑起来,发现显示的文字并不是期待的“网络测试”,而是如下乱码

3
此时我们需要在对应的cpp文件中,包含一个头文件“qtextcodec.h”,
即在前面加上一行代码include "qtextcodec.h”

4
之后统一编码格式为UTF-8,在setplaceholdertext方法调用之前加入以下代码
QTextCodec
*codec=QTextCodec::codecForName("UTF-8");
QTextCodec::setCodecForTr(codec);
QTextCodec::setCodecForLocale(QTextCodec::codecForLocale());
QTextCodec::setCodecForCStrings(QTextCodec::codecForLocale());

5
然后再调试程序

6
你会发现,已经正常显示中文了

http://jingyan..com/article/1612d500418fede20e1eeeb1.html

❻ Qt中文乱码问题怎么解决

(1)、中文编码一律使用QString::fromLocal8Bit()接口。
原因:需要支持QT4版本。QStringLiteral()方法也可取,但是它只支持QT5版本,如果没有版本问题,可以使用。
(2)、CPP等文件编码一律使用UTF8—BOM格式。
原因1:UTF8-无BOM在使用window编译器cl中编译会失败,当然除非你Windows中使用QT的Mingw版本编译开发。
原因2:不使用GBK的文件编码是为了更容易的兼容到linux版本与windows中,否则你需要改QtCreate的编码环境与linux的系统字符环境。

❼ qt 5.4 tr()时中文乱码

是由于港台的繁体中文大五码(BIG5)与大陆简体中文(GB2312)不通用而造成的.在正常机器上选择“开始”→“运行”,即使你用内码翻译软件处理也不会消除这类乱码,导出该分支注册表信息到文件(如ZT。这种乱码形成的原因比较复杂,菜单等显示界面上的汉字都是受一个动态链接库“:是Windows系统显示乱码.文本乱码.请你将光标定位到“HKEY_LOCAL_MACHINECurrentControlSet.选择“HKEY_LOCAL_MACHINE.首先在显示乱码的机器上选择“开始”→“运行”,在 “HKEY_LOCAL_MACHINESystem:是各种应用程序,打开注册表编辑器;Control,把ZT.REG文件导入注册表中即可:菜单。解决办法是重新安装中文软件汉字乱码现象有4种类型,在对话框中键入“regedit”:如果你找不到一台与你的Windows版本相同且显示正常的机器;Fonassoc”下,打开注册表编辑器,如果以后你安装了某个...

❽ Qt显示中文乱码

先用文本文件的打开另存为的时候设置一下编码就好了 一般Windows下是gbk

❾ qt5.2在编辑界面中显示乱码

编辑界面编码不对,换种编码,如果以前是utf-8就换成GBK,如果以前是GBK就换utf-8

阅读全文

与qt编译器运行时出现乱码相关的资料

热点内容
电脑解压后电脑蓝屏 浏览:295
外网访问内网服务器如何在路由器设置 浏览:856
2014统计年鉴pdf 浏览:434
linuxoracle用户密码 浏览:757
股票交易pdf 浏览:898
p2papp源码 浏览:308
记录睡眠软件app哪个好用 浏览:140
液压助力车压缩比 浏览:217
文件服务器上如何查看 浏览:975
雪花绘制源码 浏览:662
app主页演示图怎么做 浏览:542
幼儿园设计pdf 浏览:645
干接点输入单片机 浏览:541
亚马逊云服务器查看 浏览:163
如何用免费云服务器 浏览:610
php的输出命令 浏览:264
在家怎么制作解压小玩具 浏览:99
javascript源码辅助阅读 浏览:384
pythonui开发工具 浏览:595
adr指标源码 浏览:217