Merge branch 'master' of git.246060.ru:f1x1t/myx-cmake-example-qt5-gui
This commit is contained in:
commit
9a49489dfc
@ -5,7 +5,7 @@ cmake_minimum_required(VERSION 3.3)
|
||||
cmake_policy(VERSION 3.0.2..3.7)
|
||||
|
||||
# Название и версия проекта и используемые языки программирования
|
||||
project(myx-cmake-example-qt5-gui VERSION 0.2.0 LANGUAGES CXX)
|
||||
project(myx-cmake-example-qt5-gui VERSION 0.3.0 LANGUAGES C CXX)
|
||||
|
||||
###
|
||||
# Обязательные переменные для MyxCMake
|
||||
@ -22,11 +22,14 @@ set(MYX_CMAKE_AUTHOR_EMAIL "mail@johndoe.com" CACHE STRING "")
|
||||
# Краткое описание проекта
|
||||
set(MYX_CMAKE_DESCRIPTION "Пример проекта: графическая программа Qt5" CACHE STRING "")
|
||||
|
||||
find_package(MyxCMake REQUIRED)
|
||||
find_package(MyxCMake 0.4.1 REQUIRED)
|
||||
|
||||
# Qt5
|
||||
find_package(Qt5Core COMPONENTS Private REQUIRED)
|
||||
find_package(Qt5 COMPONENTS Core Gui Widgets REQUIRED)
|
||||
|
||||
# Автоматически генерируемый заголовочный файл
|
||||
myx_cmake_generate_private_config_header()
|
||||
|
||||
# Исходные тексты программы
|
||||
add_subdirectory(src/myx-cmake-example-qt5-gui)
|
||||
|
17
l10n/myx-cmake-example-qt5-gui_ru_RU.ts
Normal file
17
l10n/myx-cmake-example-qt5-gui_ru_RU.ts
Normal file
@ -0,0 +1,17 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE TS>
|
||||
<TS version="2.1" language="ru_RU">
|
||||
<context>
|
||||
<name>TestWindow</name>
|
||||
<message>
|
||||
<location filename="../src/myx-cmake-example-qt5-gui/test_window.ui" line="14"/>
|
||||
<source>Test Window</source>
|
||||
<translation>Тестовое окно</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/myx-cmake-example-qt5-gui/test_window.ui" line="27"/>
|
||||
<source>Press me</source>
|
||||
<translation>Нажми меня</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
@ -38,6 +38,15 @@ qt5_wrap_ui(TRGT_ui_h ${TRGT_ui})
|
||||
# Правило для автоматической генерации препроцессором moc
|
||||
qt5_wrap_cpp(TRGT_moc_cpp ${TRGT_moc_hpp})
|
||||
|
||||
# Поиск строк для локализации в файлах, перечисленных в ${TRGT_cpp} ${TRGT_ui}
|
||||
# Создание и обновление файлов переводов в каталоге ${CMAKE_SOURCE_DIR}/l10n
|
||||
# Интеграция переводов в исполняемый файл для подключения классом QTranslator
|
||||
myx_cmake_qt5_translation(TRGT_qrc_cpp
|
||||
OUTPUT_DIR ${CMAKE_SOURCE_DIR}/l10n
|
||||
BASE_NAME ${TRGT}
|
||||
SOURCES ${TRGT_cpp} ${TRGT_ui}
|
||||
LANGUAGES ru_RU)
|
||||
|
||||
# Правило для автоматической генерации препроцессором qrc
|
||||
# (обязательно после вызова функции qt5_translation, если она есть,
|
||||
# так как она добавляет свои файлы к списку ресурсов)
|
||||
|
@ -1,12 +1,21 @@
|
||||
#include "myx_cmake_private_config_p.hpp"
|
||||
#include "test_window.hpp"
|
||||
|
||||
#include <QApplication>
|
||||
#include <QIcon>
|
||||
#include <QTranslator>
|
||||
|
||||
int main( int argc, char** argv )
|
||||
{
|
||||
QApplication app( argc, argv );
|
||||
|
||||
// Подключение переводов в зависимости от текущей локали
|
||||
auto* translator = new QTranslator( QApplication::instance() );
|
||||
if ( translator->load( QLocale(), MYX_CMAKE_PROJECT_NAME, QStringLiteral( "_" ), QStringLiteral( ":/qm" ) ) )
|
||||
{
|
||||
QApplication::installTranslator( translator );
|
||||
}
|
||||
|
||||
// Установка иконки для программы
|
||||
QApplication::setWindowIcon( QIcon( ":/icon/icon.png" ) );
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user