diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 0000000..1b0a7ed
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,32 @@
+# Минимальная версия CMake
+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)
+
+###
+# Обязательные переменные для MyxCMake
+###
+# Название организации
+set(MYX_CMAKE_ORGANIZATION_NAME "Org." CACHE STRING "")
+
+# Имя автора
+set(MYX_CMAKE_AUTHOR_NAME "John Doe" CACHE STRING "")
+
+# Почта автора
+set(MYX_CMAKE_AUTHOR_EMAIL "mail@johndoe.com" CACHE STRING "")
+
+# Краткое описание проекта
+set(MYX_CMAKE_DESCRIPTION "Пример проекта: графическая программа Qt5" CACHE STRING "")
+
+find_package(MyxCMake REQUIRED)
+
+# Qt5
+find_package(Qt5Core COMPONENTS Private REQUIRED)
+find_package(Qt5 COMPONENTS Core Gui Widgets REQUIRED)
+
+# Исходные тексты программы
+add_subdirectory(src/myx-cmake-example-qt5-gui)
diff --git a/files/share/icon.png b/files/share/icon.png
new file mode 100644
index 0000000..499a717
Binary files /dev/null and b/files/share/icon.png differ
diff --git a/files/share/icon.qrc b/files/share/icon.qrc
new file mode 100644
index 0000000..444fd96
--- /dev/null
+++ b/files/share/icon.qrc
@@ -0,0 +1,5 @@
+
+
+ icon.png
+
+
diff --git a/src/myx-cmake-example-qt5-gui/CMakeLists.txt b/src/myx-cmake-example-qt5-gui/CMakeLists.txt
new file mode 100644
index 0000000..9da5406
--- /dev/null
+++ b/src/myx-cmake-example-qt5-gui/CMakeLists.txt
@@ -0,0 +1,56 @@
+# Название основной цели и имени программы в текущем каталоге
+set(TRGT myx-cmake-example-qt5-gui)
+
+# cmake-format: off
+###
+# Списки файлов проекта
+###
+# Исходные коды
+set(TRGT_cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/main.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/test_window.cpp)
+
+# Заголовочные файлы, для которых необходима обработка препроцессором moc
+# (содержат класс, унаследованный от QObject, использующий сигналы и/или слоты)
+set(TRGT_moc_hpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/test_window.hpp)
+
+# Другие заголовочные файлы
+set(TRGT_hpp)
+
+# Файлы с описанием графического интерфейса для Qt
+set(TRGT_ui
+ ${CMAKE_CURRENT_SOURCE_DIR}/test_window.ui)
+
+# Файлы описания ресурсов, включаемых в исполняемый файл
+set(TRGT_qrc
+ ${CMAKE_SOURCE_DIR}/files/share/icon.qrc)
+###
+# Конец списков файлов
+###
+# cmake-format: on
+
+set(TRGT_headers ${TRGT_hpp} ${TRGT_moc_hpp})
+
+# Правило для автоматической генерации препроцессором uic
+qt5_wrap_ui(TRGT_ui_h ${TRGT_ui})
+
+# Правило для автоматической генерации препроцессором moc
+qt5_wrap_cpp(TRGT_moc_cpp ${TRGT_moc_hpp})
+
+# Правило для автоматической генерации препроцессором qrc
+# (обязательно после вызова функции qt5_translation, если она есть,
+# так как она добавляет свои файлы к списку ресурсов)
+qt5_add_resources(TRTG_qrc_cpp ${TRGT_qrc})
+
+# Функция для создания цели, результатом которой будет сборка приложения
+add_executable(${TRGT} ${TRGT_headers} ${TRGT_ui_h} ${TRGT_moc_cpp} ${TRGT_qrc_cpp} ${TRGT_cpp})
+myx_cmake_common_target_properties(${TRGT})
+
+# Qt5: подключение заголовочных файлов
+target_include_directories(${TRGT} SYSTEM PUBLIC ${Qt5Core_INCLUDE_DIRS})
+target_include_directories(${TRGT} SYSTEM PUBLIC ${Qt5Gui_INCLUDE_DIRS})
+target_include_directories(${TRGT} SYSTEM PUBLIC ${Qt5Widgets_INCLUDE_DIRS})
+
+# Qt5: подключение библиотек
+target_link_libraries(${TRGT} Qt5::Core Qt5::Gui Qt5::Widgets)
diff --git a/src/myx-cmake-example-qt5-gui/main.cpp b/src/myx-cmake-example-qt5-gui/main.cpp
new file mode 100644
index 0000000..76370cc
--- /dev/null
+++ b/src/myx-cmake-example-qt5-gui/main.cpp
@@ -0,0 +1,17 @@
+#include "test_window.hpp"
+
+#include
+#include
+
+int main( int argc, char** argv )
+{
+ QApplication app( argc, argv );
+
+ // Установка иконки для программы
+ QApplication::setWindowIcon( QIcon( ":/icon/icon.png" ) );
+
+ // Создание и отображение главного окна
+ auto* w = new TestWindow();
+ w->show();
+ return( QApplication::exec() );
+}
diff --git a/src/myx-cmake-example-qt5-gui/test_window.cpp b/src/myx-cmake-example-qt5-gui/test_window.cpp
new file mode 100644
index 0000000..1442154
--- /dev/null
+++ b/src/myx-cmake-example-qt5-gui/test_window.cpp
@@ -0,0 +1,11 @@
+#include "test_window.hpp"
+
+TestWindow::TestWindow( QMainWindow* parent ) :
+ QMainWindow ( parent ),
+ Ui::TestWindow()
+{
+ setupUi( this );
+}
+
+
+TestWindow::~TestWindow() = default;
diff --git a/src/myx-cmake-example-qt5-gui/test_window.hpp b/src/myx-cmake-example-qt5-gui/test_window.hpp
new file mode 100644
index 0000000..db08425
--- /dev/null
+++ b/src/myx-cmake-example-qt5-gui/test_window.hpp
@@ -0,0 +1,18 @@
+#ifndef TEST_WINDOW_HPP_
+#define TEST_WINDOW_HPP_
+
+#pragma once
+
+#include "ui_test_window.h"
+
+#include
+
+class TestWindow : public QMainWindow, private Ui::TestWindow
+{
+ Q_OBJECT
+public:
+ TestWindow( QMainWindow* parent = nullptr );
+ virtual ~TestWindow();
+};
+
+#endif /* TEST_WINDOW_HPP_ */
diff --git a/src/myx-cmake-example-qt5-gui/test_window.ui b/src/myx-cmake-example-qt5-gui/test_window.ui
new file mode 100644
index 0000000..6f55c01
--- /dev/null
+++ b/src/myx-cmake-example-qt5-gui/test_window.ui
@@ -0,0 +1,34 @@
+
+
+ TestWindow
+
+
+
+ 0
+ 0
+ 413
+ 253
+
+
+
+ Test Window
+
+
+
+
+
+ 170
+ 30
+ 80
+ 26
+
+
+
+ Press me
+
+
+
+
+
+
+