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)
|
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
|
# Обязательные переменные для MyxCMake
|
||||||
@ -22,11 +22,14 @@ set(MYX_CMAKE_AUTHOR_EMAIL "mail@johndoe.com" CACHE STRING "")
|
|||||||
# Краткое описание проекта
|
# Краткое описание проекта
|
||||||
set(MYX_CMAKE_DESCRIPTION "Пример проекта: графическая программа Qt5" CACHE STRING "")
|
set(MYX_CMAKE_DESCRIPTION "Пример проекта: графическая программа Qt5" CACHE STRING "")
|
||||||
|
|
||||||
find_package(MyxCMake REQUIRED)
|
find_package(MyxCMake 0.4.1 REQUIRED)
|
||||||
|
|
||||||
# Qt5
|
# Qt5
|
||||||
find_package(Qt5Core COMPONENTS Private REQUIRED)
|
find_package(Qt5Core COMPONENTS Private REQUIRED)
|
||||||
find_package(Qt5 COMPONENTS Core Gui Widgets REQUIRED)
|
find_package(Qt5 COMPONENTS Core Gui Widgets REQUIRED)
|
||||||
|
|
||||||
|
# Автоматически генерируемый заголовочный файл
|
||||||
|
myx_cmake_generate_private_config_header()
|
||||||
|
|
||||||
# Исходные тексты программы
|
# Исходные тексты программы
|
||||||
add_subdirectory(src/myx-cmake-example-qt5-gui)
|
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
|
# Правило для автоматической генерации препроцессором moc
|
||||||
qt5_wrap_cpp(TRGT_moc_cpp ${TRGT_moc_hpp})
|
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
|
# Правило для автоматической генерации препроцессором qrc
|
||||||
# (обязательно после вызова функции qt5_translation, если она есть,
|
# (обязательно после вызова функции qt5_translation, если она есть,
|
||||||
# так как она добавляет свои файлы к списку ресурсов)
|
# так как она добавляет свои файлы к списку ресурсов)
|
||||||
|
@ -1,12 +1,21 @@
|
|||||||
|
#include "myx_cmake_private_config_p.hpp"
|
||||||
#include "test_window.hpp"
|
#include "test_window.hpp"
|
||||||
|
|
||||||
#include <QApplication>
|
#include <QApplication>
|
||||||
#include <QIcon>
|
#include <QIcon>
|
||||||
|
#include <QTranslator>
|
||||||
|
|
||||||
int main( int argc, char** argv )
|
int main( int argc, char** argv )
|
||||||
{
|
{
|
||||||
QApplication app( argc, 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" ) );
|
QApplication::setWindowIcon( QIcon( ":/icon/icon.png" ) );
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user