|
开发环境:
windows
qt-creator-opensource-windows-x86-3.2.0.exe
qt-win-opensource-4.8.4-mingw.exe
linux(ubuntu 12.10)
arm-2011.03-41-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
qt-everywhere-opensource-src-4.7.3.tar.bz2
=========================================
在windwows下使用qt creator创建widget ui界面,上面有lable和button,
显示汉字。编译exe在windows下能运行。
拷贝.h .cpp .ui .pro到linux下,qmake,再make,将生成的可执行程序
下载到目标板上运行后,中文汉字不能显示,也没有乱码。
=========================================
参考网友的做法:
在main函数中添加如下代码- QTextCodec *codec = QTextCodec::codecForName("utf8"); //这里有网友用UTF-8,到底用哪个
- QTextCodec::setCodecForLocale(codec);
- QTextCodec::setCodecForCStrings(codec);
- QTextCodec::setCodecForTr(codec);
- QFont font;
- font.setFamily(("Vera"));
- a.setFont(font);
复制代码 编译运行后依然不能显示汉字。
=========================================
目标板/usr/lib/fonts下有字体文件,参考
http://bbs.tianya.cn/post-414-50580-1.shtml的做法
int fontId = QFontDatabase::addApplicationFont("/usr/lib/fonts/Vera.ttf");
编译运行后依然不能显示汉字。
=========================================
ui文件是用qt creator创建的
编译生成的ui_xxx.h中- void retranslateUi(QWidget *Login)
- {
- Login->setWindowTitle(QApplication::translate("Login", "Login", 0, QApplication::UnicodeUTF8));
- btn_exit->setText(QApplication::translate("Login", "&Exit", 0, QApplication::UnicodeUTF8));
- label->setText(QApplication::translate("Login", "\346\216\247\345\210\266\345\231\250", 0, QApplication::UnicodeUTF8));
- btn_login->setText(QApplication::translate("Login", "\347\231\273\351\231\206(ENT)", 0, QApplication::UnicodeUTF8));
- btn_users->setText(QApplication::translate("Login", "\347\224\250\346\210\267\347\256\241\347\220\206(F1)", 0,
- QApplication::UnicodeUTF8));
- }
复制代码 =========================================
请大家指导下,中文汉字显示到底怎么搞?
|
|