qml中loader加载页面会闪屏_Qml动态语言切换
此方法需要在Qt5.10或更高版本實(shí)現(xiàn), 在Qt5.10或更高版本實(shí)現(xiàn), 在Qt5.10或更高版本實(shí)現(xiàn) 重要的事情說(shuō)三遍
首先在工程文件.pro中加入TRANSLATIONS = zh_CN.ts en_US.ts 兩個(gè)翻譯文件, 支持中英文兩種語(yǔ)言切換
在工程目錄下 cmd 執(zhí)行
lupdate main.qml -ts zh_CN.ts lupdate main.qml -ts en_US.ts執(zhí)行完后在代碼目錄里就可以看到生成了 zh_CN.ts, en_US.ts 兩個(gè)翻譯文件 接下來(lái)用Qt的Linguist分別打開(kāi)和編輯ts文件
然后點(diǎn)擊各個(gè)源文中的項(xiàng), 并在下面的譯文中填寫(xiě)與語(yǔ)言對(duì)應(yīng)的文字就行了. 全部填寫(xiě)完成, 再運(yùn)行菜單 文件->發(fā)布就會(huì)生成對(duì)應(yīng)的.qm文件. 這個(gè)文件就是我們程序在實(shí)際運(yùn)行中需要加載的翻譯文件了.
代碼中的加載過(guò)程:
void QmlLanguage::setLanguage(int nLanguage) {QTranslator translator;if (nLanguage == 0){translator.load(":/en_US.qm");}else{translator.load(":/zh_CN.qm");}m_app->installTranslator(&translator);m_engine->retranslate(); }重點(diǎn)的是這句 m_engine->retranslate(); Qt5.10的新方法, 使Qml界面全部動(dòng)態(tài)重新翻譯
需要完整代碼請(qǐng)?jiān)L問(wèn)
zhengtianzuo/QtQuickExamples?github.com 創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的qml中loader加载页面会闪屏_Qml动态语言切换的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: openwrt安装蒲公英_不会OpenW
- 下一篇: tensorflow 语义slam_【论