导航:首页 > 源码编译 > qt33编译后中文显示不全

qt33编译后中文显示不全

发布时间:2022-04-30 02:35:02

❶ 如何在QT中显示中文字符

跟Qt关系不大,这和你源文件编码格式和编译器有关系。

可以给你个建议把上面的程序改成Qt版本的, 哈哈。步骤如下~
1 是用qtcreator
2 如果是, 检查
工具--选项--文本编辑器--行为 选项卡下的File Encodings 中,default Encoding下拉选框里没有中文编码(gbk、gb2132或gb18030等)。我这里是system

3 在程序里
int main(xxxx)
{
QApplication app(xxxx);
QTextCodec::setCodecForTr(QTextCodec::codecForName("system"));
QTextCodec::setCodecForLocale(QTextCodec::codecForName("system"));
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("system"));

qDebug() << QObject::tr("中文");
//记得中文用QObject::tr()包裹起来,这样就可以显示中文了。

app.exec();
}

❷ Ubuntu安装Qt后,编程出来的界面很奇怪,并且中文不能显示

中文问题:
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));
显示问题:

这是ubuntu的unity桌面。你的桌面环境是什么,就会显示什么。

你可以换成gnome桌面或者kde来改善一下。

❸ 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编译exe时中文字符异常

由于你有你自己的C文件,所以没办法给你编译:QString不知道你是封装了CString 还是string。

#include <iostream>
#include <string>
using namespace std;

int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);

QString temp = "i love china.";
int lenn = temp.length();

cout << temp.toStdString().c_str() << endl;
cout << lenn << endl;//长度23 应该是13吧

string st = temp.toStdString().c_str();

cout << st <<"\t" << st.length() << endl;

const char *ct_2 = temp.toAscii().constData();

//这里ct_2 没有分配空间,这里运行应该会出错的,
//试试这样 ct_2 = new char[st.length() +1];
//或者ct_2 = (char*)malloc((st.length()+1)*sizeof(char))
//这个用法是从书上看来的,可是运行时
//ct_2字符串变成乱码,长度变成25
int len = strlen(ct_2);
cout << len << endl;
cout << ct_2 << endl;

char * ct_1 = new char(st.length()+1);
strcpy_s(ct_1, st.length()+1, st.c_str());
cout << ct_1 << endl;
cout << strlen(ct_1) << endl;//返回时程序出错,内存泄露了
//吗?那么如何把string 变成char 呢?
//在程序结束的时候,记得 把if(ct_1) delete ct_1;

//string 变char 可以用下标遍历string的每一个字符 然后赋值给char[i]

return a.exec();
}

如果是string的话,string有at函数
你可以转换
string temp = "i love china.";
char str[40];
char*p;
int i=0;
for(p=str;i<temp.length();i++,p++)
{
*p = temp.at(i);
}
*p = '\0';

这样str就是char数组型了。

❺ qt无法正常输出中文怎么办

第一种情况的解决办法:
首先,在Qt Creator中点击菜单“编辑”-“Select Encoding...”。

然后,在弹出的文本编辑窗口中选择“UTF-8”,再点击“按编码重新载入”。

这时,代码编辑器中的文本就会恢复正常显示了。

第二种情况的解决办法:
先点击菜单“工具”-“选项”。

在选项窗口中,在左侧切换到“文本编辑器”,再在右侧选中“行为”选项卡,最后将默认编辑改为“UTF-8”,将UTF-8 BOM改为“目前存在了则保留”,再点击“OK”关闭窗口。

现在,重新编译运行程序,就会发现已经能够正常显示了。

第三种情况在实际操作中极少发生,多半与当前系统出现故障有关。如果确信当前系统没有问题,则有可能是Qt本身安装出错,建议卸载Qt所有组件后重装。

❻ 为什么下载的Qt编译器,中文界面显示不全,换成英文又可以用的是Windows系统,急!

既然是中文界面显示不全,应该是字体不完全引起的,你可以下载一些字体资料安装上就可以了。

❼ Qt 开发,中文显示乱码。请看代码之后再下结论

QT默认用的和你编码不一样,用utf8要改qt的环境设置,或者试试下面的。
QTextCodec::setCodecForTr(QTextCodec::codecForName("gbk"));//设置中文字体编码

❽ 使用vs2013编译qt工程,qdebug出的中文变成这样了

qDebug() <<QObject::tr("好多");
这样用就可以不出乱码了。
直接写 qDebug()<<"好多";的话我也是乱码
差点忘了。我这边编码方式是"utf-8".即
QTextCodec::setCodecForLocale(QTextCodec::codecForName("utf-8"));
确切地说是工具-》选项-》文件编码里的默认编码要支持中文的。然后写成一致的就不会乱码了。请给分。谢谢

❾ QT发布程序后中文显示乱码的问题

QApplication::addLibraryPath("./plugins");
QTextCodec::setCodecForLocale(QTextCodec::codecForName("GBK"));
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("GBK"));
QTextCodec::setCodecForTr(QTextCodec::codecForName("GBK"));

在main函数里的QApplication a(argc, argv)这行的下面加入以上代码。注意加上头文件

阅读全文

与qt33编译后中文显示不全相关的资料

热点内容
解压一半可以取消嘛 浏览:119
住宅风水pdf 浏览:238
文件夹rundir什么意思 浏览:971
戴尔电脑如何给硬盘加密 浏览:155
androidn版本特性 浏览:930
算法期中试卷 浏览:939
php连接hbase 浏览:815
服务器的威胁性应该是什么等级 浏览:827
3d打印机的算法原理 浏览:483
腾讯云通信服务器 浏览:891
minecraft最可怕服务器地址 浏览:276
程序员选专业有必要吗 浏览:32
如何重装rpc服务器 浏览:637
程序员必备的app 浏览:167
电动汽车加密币 浏览:962
xp支持多少层文件夹 浏览:650
阿里云服务器防御指标 浏览:895
cc网络编程学习 浏览:461
单片机又叫微控制器对吗 浏览:662
安卓软件商店如何评分 浏览:657