Главная » Просмотр файлов » Создание графических интерфейсов пользователя с использованием Qt 5.12

Создание графических интерфейсов пользователя с использованием Qt 5.12 (1245345), страница 4

Файл №1245345 Создание графических интерфейсов пользователя с использованием Qt 5.12 (Методические пособия по C++ Г.С.Иванова 3 части) 4 страницаСоздание графических интерфейсов пользователя с использованием Qt 5.12 (1245345) страница 42021-07-27СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 4)

При щелчке мышкой по кнопке Close или Выход приложение завершаетработу.Примечание. В процессе работы приложению Qt необходимы несколько динамических библиотек, которые должны быть доступны в путях автовызова, устанавливаемыхсистемной переменной Path, или могут быть скопированы в директорию приложения...\release.1.2.2 Сборка Qt-программ в среде Microsoft Visual StudioВ качестве альтернативы компиляции-сборке приложений Qt в командном режимеможно предложить создание приложений с использованием среды Microsoft Visual Studio2008 и более поздние.

Для этого необходимо скачать и установить на компьютер специальный дистрибутив – Qt-библиотеку для Visual Studio и плагин для среды (см. приложение А).После установки плагина Qt в Visual Studio при создании приложений с использованием пункта меню:Файл\Создать\Проект\Тест\становятся доступны шаблоны приложений Qt: Qt ActiveQt Server, Qt Class Library, QtConsole Application, Qt Designer Custom Widget и Qt Gui Application.На этапе обучения созданию приложений с графическим интерфейсом мы будем использовать заготовку проекта последнего вида.При этом нам предлагается выбрать базовый класс для построения окна: QWidget(простое окно без виджетов), QMainWindow (главное окно с меню) или QDialig (окно диалога).

В зависимости от нашего выбора Мастер создает заготовку Qt-приложения с заготовками следующих файлов:QtGuiApplication1.h – для объявления/описания класса окна;QtGuiApplication1.cpp – для описания методов этого класса;QtGuiApplication1.ui – для проектирования внешнего вида окна в QtDesiner;QtGuiApplication1.qrc – для ресурсов проекта;main.cpp – для заготовки основной программы.Если некоторые из перечисленных файлов вам не нужны, то потом их можно удалить из проекта и с диска.Всю дальнейшую работу по созданию, компиляции, сборке и отладке Qtприложений можно выполнять в среде Visual Studio.Примечание. Открывать Qt-приложения, созданные другими средствами, следует,используя пункт меню:Qt VS Tools\Open Qt Project File (.pro) …1.2.3 Qt Designer.

Быстрая разработка прототипов интерфейсовQt Designer – программа визуального проектирования интерфейса пользователя. Результатом работы этой программы является файл XML-описания формы, имеющий расширение .ui – <Имя формы>.ui (рисунок 1.7).ВидформыQt Designer<Имя формы>.uiXMLописаниеформыUICompilerui_<Имя формы>.hРеализацияконструктораформыsetupUi#include#include<Имя класса>.hОписаниеклассапотомкаQWidget#includeMOCompilermoc_<Имя класса>.cppРеализацияиспользуемыхмеханизмовQt<Имя класса>.cppРеализацияклассапотомкаQWidgetС++ Compiler<Имя программы>.obj<Имя программы>.obj<Имя программы>.obj<Имя программы>.cppОсновнаяпрограммаДвоичныеОсновнаяОсновнаятекстыпрограммапрограммачастейпрограммыКомпоновщик<Имя программы>.exeПриложениеРисунок 1.7 – Схема компиляции-сборки приложения с формами интерфейса, созданными в Qt DesignerФайлы, созданные с использованием Qt Designer в дальнейшем дополнительно обрабатываются специальным компилятором UIC (User Interface Compiler – Компилятор пользовательского интерфейса), который формирует код программы на С++ из его XMLописания.

Результатом компиляции является файл ui_<Имя формы>.h. Этот файл содержит описание метода setupUi, использующего классы Qt и обеспечивающего созданиеразработанной формы.Автоматически созданный файл вместе с описанием класса формы передаются MOCдля реализации необходимых дополнительных функций библиотеки Qt.После этого файлы приложения обрабатываются компилятором и компоновщикомС++. В результате – создается файл приложения.Помимо конструирования внешнего вида окна приложения Qt Designer позволяет: запрограммировать предусмотренные Qt (!) аспекты поведения формы и ее компонентов; связать метки (объекты класса QLabel) с другими виджетами так, что при щелчкемышкой на метке фокус ввода будет передаваться на ассоциированный виджет; определить порядок передачи фокуса ввода виджетам формы при нажатии клавиши Tab.Примечание.

Следует подчеркнуть, что описать поведение виджетов можно лишь в тех случаях, когда в приложении задействованы предусмотренные в классах виджетов сообщения сигналы и реакции на них – слоты. Новые сигналы и слоты можно объявлять при создании потомковклассов виджетов специальными операторами Qt (см. раздел 2.3).Описание всех перечисленных связей виджетов – также на языке XML – добавляетсяв файл формы с расширением .ui.Исполняемый файл Qt Designer designer.exe может быть запущен как из консольногоокна, так и непосредственно из Windows.При запуске на экране появляется главное окно приложения и перед ним диалоговоеокно Новая форма (рисунок 1.8).Рисунок 1.8 – Вид конструктора форм при запуске программыВ диалоговом окне предлагается выбрать шаблон для формы окна.

В качестве такихшаблонов могут использоваться объекты классов QWidget, QDialog и QMainWindow. Затем, уже в Designer выполняют проектирование интерфейса.Выполним визуальное проектирование формы интерфейса приложения Hello, рассмотренного в разделе 1.1.Пример 1.4. Приложение Hello. Создание с использованием программы визуальногопроектирования формы.Создание главного окна приложения.

В качестве основы формы будем использоватьобъект класса QWidget, как в предыдущем примере. Соответственно в ответ на запрос Designer выбираем шаблон (templates) Widget и нажимаем кнопку Create. В результате создается заготовка окна, озаглавленная Form – untitled, где Form – имя объекта класса QWidgetпо умолчанию, untitled (безымянный) – означает, что файл создаваемой формы приложения пока не имеет имени.На эту форму с левой панели Widget box перетаскиваем мышкой два виджета Labelи PushButton (рисунок 1.9).Рисунок 1.9 – Основные панели дизайнера и добавление виджетов на формуПолученную форму сохраняем под именем form.ui. Для этого используется пунктменю Файл\Сохранить как…Далее, используя панели Инспектора объектов и Редактора свойств, выбираем объекты и присваиваем им новые имена, меняя свойство objectName:QWidget:objectName = Form objectName = win;QPushButton: objectName = pushButton  bjectName = button.Также с помощью Редактора свойств меняем заголовки виджетов (свойство text):label:text = ʺHello!ʺ;button:text = ʺCloseʺ.Управление расположением и размерами виджетов.

Также как и при создании интерфейса вручную для управления размещением виджетов на форме Qt Designer использует компоновщики. Для добавления компоновщика компонуемые виджеты должны бытьвыделены, что можно сделать, щелкая мышкой по виджетам при нажатой клавиши Ctrl.Добавление компоновщиков и связывание с ними виджетов осуществляется выбором пунктов меню: Форма\Скомпановать по горизотали – компоновать по горизонтали, Форма\Скомпановать по вертикали – компоновать по вертикали, Форма\Скомпоновать по сетке – компоновать по сетке,или нажатием соответствующих кнопок на панели компонентов дизайнера.Обратите внимание, что связывание главного компоновщика с окном происходит,если выбрать горизонтальную или вертикальную компоновку при отсутствии выделенныхвиджетов.Компоновку окна приложения выполняем следующим образом: label и button – компонуем по вертикали; окно приложения (при отсутствии выбранных виджетов) – компонуем по горизонтали.После настройки виджетов и выполнения компоновки получаем готовую форму (рисунок 1.10), окончательный вариант которой не забываем сохранить, используя пункт меню Файл/Сохранить.Рисунок 1.10 – Вид окна дизайнера после компоновки формыСвязывание сигналов и слотов.

Как уже говорилось выше, кроме визуального конструирование вида окон, Qt Designer позволяет связать заранее предусмотренные сигналывиджетов с такой же заранее предусмотренной реакцией других виджетов на эти сигналы.Для этого необходимо переключиться в режим Редактор сигналов/слотов, выбрав пунктменю Правка\Изменение Сигналов/Слотов.Указание виджетов, между сигналом и слотом которых устанавливается связь, выполняется визуально: щелкаем левой клавишей мышки по виджету кнопки и, не отпускаялевой клавиши, переносим указатель мышки на свободное место окна (рисунок 1.11). Выбранные виджеты связываются красной линией, после чего открывается окно Настройкасоединения, в котором выбираем слева сигнал clicked(), а справа слот close().

(Длятого, чтобы справа появились доступные слоты необходимо внизу окна выбрать Показывать сигналы и слоты, унаследованные от QWidget. Для завершения операции необходимонажать на кнопку OK.Рисунок 1.11 – Вид окна при связывании сигнала от кнопки с закрытием окнаПосле закрытия вспомогательного окна установленные связи на форме маркируютсявыбранными сигналом и слотом (рисунок 1.12).Рисунок 1.12 – Маркировка связей «Сигнал – слот» в дизайнереПредварительный просмотр формы. QtDesigner позволяет просмотреть полученнуюформу.

Для этого необходимо выбрать пункт меню Форма\Предпросмотр в.... Далее выбирается стиль предпросмотра. В режиме предварительного просмотра форма выглядит иреагирует на действия пользователя так, как это будет происходить во время работы программы (рисунок 1.13).Рисунок 1.13 – Предварительный просмотр сконструированной формыПолученную и проверенную форму сохраняем еще раз и переходим к созданию собственно приложения.Описание класса окна. Приложение в соответствии со схемой работы Qt Designerдолжно включать класс окна.

Характеристики

Тип файла
PDF-файл
Размер
6,43 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6376
Авторов
на СтудИзбе
309
Средний доход
с одного платного файла
Обучение Подробнее