請問怎麽把文字改成中文或者其他語言?
解決方案如下:
簡體中文的解決方法是打開Qt安裝目錄下的翻譯,找到qt_zh_CN.qm和Qt _ zh _ cn.ts。
直接用qt_zh_CN.qm就行了。如果確實有不完整的翻譯,打開qt_zh_CN.ts翻譯並重新生成。qm文件。
也就是將translation/qt_zh_CN.qm加載到QTranslator中。
其他國家也有類似的語言方法。
參考源代碼:
#包含“mainwindow.h”
# include & ltQApplication & gt
# include & ltQTranslator & gt
int main(int argc,char *argv[])
{
QApplication a(argc,argv);
//加載Qt標準對話框的中文翻譯文件。
QTranslator tran
bool ok = tran.load("qt_zh_CN.qm "," C:\ \ Qt \ \ 4 . 8 . 5 _ vs 2010 \ \ translations \ \ ");//註意,這裏用的是絕對路徑。建議復制。qm到項目目錄,然後使用相對路徑。
a . install translator(& amp;tran);
//加載自定義接口翻譯文件。
QTranslator用戶;
ok = user.load("user_zh.qm ",":/");
a . install translator(& amp;用戶);
//設置全局文字大小,不需要,根據自己的情況使用即可。
q font font = a . font();
font . setpointsize(9);
a.setFont(字體);
主窗口w;
w . show();
返回a . exec();
}
最終效果圖:
如果軟件想要動態地切換語言,它需要定義壹個全局函數來調用,例如:
#包含“mainwindow.h”
# include & ltQApplication & gt
# include & ltQTranslator & gt
QTranslator g _ tran//必須設置為全局變量。如果是局部變量,設置將無效。
Void setLanguage(int lan)//全局函數,可以被其他文件調用。
{
bool ok = false
If (lan == 1)//中文
{
ok = g_tran.load("qt_zh_CN.qm ",":/LAN/");//這裏使用了Qt資源文件,而。qm文件被復制到項目路徑/lan。
}
Else if (lan == 2)//英語
{
ok = g_tran.load(",":/LAN/");
}
qcore application::install translator。g _ tran);
//或者寫成qapp->;安裝翻譯器(& ampg _ tran);
}
int main(int argc,char *argv[])
{
QApplication a(argc,argv);
set language(1);//調用全局函數
主窗口w;
w . show();
返回a . exec();
}