add_subdirectory(tools/tsconvert) 自动调用lupdate、-lrelease、填词脚本 set(languagesDir "${CMAKE_CURRENT_BINARY_DIR}/resources/languages") file(MAKE_DIRECTORY ${languagesDir}) #将qrc文件拷贝到指定目录;由于qrc指定了qm文件与其为同一目录,所以这里拷贝一下,不然会找不到 configure_file(resources/languages...
qt5_create_translation(QM_FILES ${CMAKE_CURRENT_SOURCE_DIR} ${TS_FILES}) add_executable(${PROJECT_NAME} main.cpp ${TS_FILES} ${QM_FILES}) 第一行很好理解,把我们的需要的ts文件的名字先设置到变量里。 接着我们引入Qt5::LinguistTools,这不是c++库,只是一个帮助生成ts文件和qm文件的cmake模块,...
add_custom_target(lrelease_task DEPENDS ${QM_FILES}) 1. 2. 3. 4. 5. 需要注意的是,add_custom_target定义的目标默认是不在总目标all里面的,Qt Creator执行Build的时候,默认目标是all目标,也就是add_library和add_executable的那些目标,如果你想在每次Build的时候把更新翻译也执行了,那么可以修改为下面这样。
使用qt5_create_translation命令注册ts文件及其依赖源,输出qm文件列表。 查看Qt5LinguistToolsMacros.cmake内容可以发现主要部分代码如下: function(QT5_CREATE_TRANSLATION_qm_files)...add_custom_command(OUTPUT${_ts_file}COMMAND ${Qt5_LUPDATE_EXECUTABLE}ARGS ${_lupdate_options}"@${_ts_lst_file}" -ts ...
program(LUPDATE_EXECUTABLE lupdate)find_program(LRELEASE_EXECUTABLE lrelease)# 生成ts和qm文件foreach(_ts_file ${TS_FILES})execute_process( COMMAND ${LUPDATE_EXECUTABLE}-recursive ${CMAKE_SOURCE_DIR}-ts ${_ts_file})execute_process( COMMAND ${LRELEASE_EXECUTABLE} ${_ts_file})endforeach...
add_executable(${PROJECT_NAME}main.cpp) # 提示你应该指定qt的cmake模块的路径,使用系统默认配置时无需关心 # 嫌这个警告啰嗦的话完全可以注释掉或者删除 if(NOTCMAKE_PREFIX_PATH) message(WARNING"CMAKE_PREFIX_PATH is not defined, you may need to set it " ...
lrelease -x your_project.pro 7. 使用Qt6的本地化API 在Qt6中,可以使用QCoreApplication::setApplicationName()和QCoreApplication::translate()等函数来设置应用程序名称和进行字符串翻译。 例如, cpp include <QCoreApplication> include <QDebug> int main(int argc, char *argv[]) { QCor...
# Exclude on Windows cross compilewithMinGW4.2.x,asit will resultina non-working executable!# This can be enabledforWindows,when weswitchto MinGW>=4.4.x.}#forextrasecurity(see:https://wiki.debian.org/Hardening):thisflag isGCCcompiler-specificQMAKE_CXXFLAGS*=-D_FORTIFY_SOURCE=2#forextra securi...
首先,您需要使用Qt中的QFile类来检查文件是否存在。可以使用以下代码示例: 代码语言:cpp 复制 #include <QFile> bool fileExists(const QString& fileName) { QFile file(fileName); return file.exists(); } 在上面的代码示例中,将文件名作为参数传递给函数,如果文件存在,则返回true,否则返回false。 如果...
set(CMAKE_AUTORCC ON)# 一定得开启rcc# 注意这行configure_file(translations.qrc ${CMAKE_CURRENT_BINARY_DIR}COPYONLY)...add_executable(${PROJECT_NAME}main.cpp ${TS_FILES}${CMAKE_CURRENT_BINARY_DIR}/translations.qrc) 需要注意的是configure_file那行,我们把qrc文件原样复制到了编译目录里,因为qm文...