基本的
sudo apt-get install qttools5-dev qttools5-dev-tools
qtbase5-dev qtbase5-dev-tools
模块
qmake
isEmpty(PREFIX) : !isEmpty(INSTALL_ROOT) : PREFIX=$$INSTALL_ROOT
isEmpty(PREFIX) {
qnx : PREFIX = /tmp
else : android : PREFIX = /.
else : PREFIX = $$OUT_PWD/install
}
!android : !macx : unix {
# install icons
icon128.target = icon128
icon128.files = App/Resource/png/SerialPortAssistant.png
icon128.path = $${PREFIX}/share/pixmaps
icon128.CONFIG = directory no_check_exist
# install desktop file
DESKTOP_FILE.target = DESKTOP_FILE
DESKTOP_FILE.files = $$PWD/debian/SerialPortAssistant.desktop
DESKTOP_FILE.path = $$system_path($${PREFIX})/share/applications
DESKTOP_FILE.CONFIG += directory no_check_exist
INSTALLS += DESKTOP_FILE icon128
}
#if (QT_VERSION > QT_VERSION_CHECK(5,6,0))
QApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
#endif
android启动时透明
#if defined(Q_OS_ANDROID) && QT_VERSION >= QT_VERSION_CHECK(5, 7, 0)
QtAndroid::hideSplashScreen();
#endif
qt 插件分为高层插件与低层插件。
它可以从给定的 pro 文件中产生或更新翻译源文件。pro 文件中用 TRANSLATIONS 指定本翻译源文件(.ts)
TRANSLATIONS = arrowpad_zh_CN.ts
arrowpad_nl.ts
执行 lupdate 命令:
lupdate myproject.pro
直接从源码文件中产生或更新翻译源文件。
lupdate qml.qrc filevalidator.cpp -ts myapp_en.ts myapp_fr.ts
[必须] lrelease: 用于从翻译源文件(.ts)产生翻译文件(.qm)
lrelease.exe main_en.ts languages\main_fr.ts
以普通文件方式:在代码中开始时,使用 QCoreApplication::installTranslator 安装翻译文件(.qm)。 可以安装多个翻译文件(.qm)。将以与安装相反的顺序搜索翻译,因此,将首先搜索最近安装的翻译文件(.qm),最后搜索安装的第一个翻译文件(.qm)。一旦找到包含匹配字符串的翻译,搜索就会停止。
QTranslator zh;
zh.load(RabbitCommon::CDir::Instance()->GetDirTranslations()
+ "/RabbitCommonApp_" + QLocale::system().name() + ".qm");
qApp->installTranslator(&zh);
以资源文件方式
添加翻译文件(.qm)到资源文件中。最好是单独建立一个资源文件。
RESOURCES += translations_RabbitCommonApp.qrc
使用 Q_INIT_RESOURCE 初化资源文件
Q_INIT_RESOURCE(translations_RabbitCommonApp);
从资源中安装翻译文件(.qm)
QTranslator zh; zh.load(“:/RabbitCommonApp_” + QLocale::system().name() + “.qm”); qApp->installTranslator(&zh);
在代码中结束时,要使用 QCoreApplication::removeTranslator 卸载翻译文件(.qm)
qApp->removeTranslator(&zh);