用QT编写一个串口通信的程序。为什么标题为中文的时候显示是乱码,标题为英文则是对的。
#include<QtGui/QApplication>#include<QTextCodec>#include"mainwindow.h"intmain(intargc...
#include <QtGui/QApplication>#include <QTextCodec>
#include "mainwindow.h"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QTextCodec::setCodecForTr(QTextCodec::codecForLocale());
//使程序可处理中文
MainWindow w;
w.setWindowTitle("串口");//命名主窗口标题为“串口”,此时出现的是乱码
w.show();
return a.exec();
} 展开
#include "mainwindow.h"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QTextCodec::setCodecForTr(QTextCodec::codecForLocale());
//使程序可处理中文
MainWindow w;
w.setWindowTitle("串口");//命名主窗口标题为“串口”,此时出现的是乱码
w.show();
return a.exec();
} 展开
3个回答
展开全部
应该是中文的编码有两种,两个字节表示一个汉字。应该是QT不支持汉字库,或者你每次接收到一个字符之后就直接显示那个字符了,但是汉字是两个字符显示一个汉字的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
QTextCodec::setCodecForTr(QTextCodec::codecForName("GBK"));
QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));
分别试试看
QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));
分别试试看
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询