Статья:

Использование библиотеки Qt для создания графических интерфейсов пользователя

Конференция: XLII Студенческая международная заочная научно-практическая конференция «Молодежный научный форум: технические и математические науки»

Секция: Технические науки

Выходные данные
Мурадова С.Р. Использование библиотеки Qt для создания графических интерфейсов пользователя // Молодежный научный форум: Технические и математические науки: электр. сб. ст. по мат. XLII междунар. студ. науч.-практ. конф. № 2(42). URL: https://nauchforum.ru/archive/MNF_tech/2(42).pdf (дата обращения: 26.09.2018)
Лауреаты определены. Конференция завершена
Эта статья набрала 35 голосов
Мне нравится
Дипломы
лауреатов
Сертификаты
участников
Дипломы
лауреатов
Сертификаты
участников
на печатьскачать .pdfподелиться

Использование библиотеки Qt для создания графических интерфейсов пользователя

Мурадова Сабина Руслан кызы
студент, Нижневартовский Государственный университет, РФ, г. Нижневартовск
Слива Максим Владимирович
научный руководитель, канд. пед. наук, доц., Нижневартовский Государственный университет, РФ, г. Нижневартовск

 

Qt – это кросс-платформенный фреймворк для разработки ПО на языке программирования C++. Программное обеспечение, построенное на этом инструментарии, не обязательно должно содержать графический интерфейс пользователя (GUI). С помощью огромного количества всевозможных классов можно написать приложение, работающее только через интерфейс командной строки (CLI). Но в основном, конечно, Qt используется для построения приложений с графическим интерфейсом пользователя, главная особенность которых – кросс-платформенность. Это означает, что просто перекомпилировав проект без изменения исходного кода с помощью различных SDK, предназначенных для определенных операционных систем, вы получите полностью работоспособную программу для необходимой вам операционной системы [6].

Актуальность данной работы обусловлена тем, что в современном мире люди чаще используют современные гаджеты. Для доступного использования пользователем, программы должны иметь визуально воспринимаемый графический интерфейс.

На основе Qt построено множество известных приложений и окружений рабочего стола. Например: KDE, Autodesk Maya, Skype (в версии для GNU/Linux), Google Earth, VirtualBox, VLC Media Player, IDA Pro и другие программы. Именно за достаточную простоту разработки и гибкие возможности большинство разработчиков и выбирают этот фреймворк.

Основная задача Qt Creator – упростить разработку приложения с помощью фреймворка Qt на разных платформах. Поэтому среди возможностей, присущих любой среде разработки, есть и специфичные, такие как отладка приложений на QML и отображение в отладчике данных из контейнеров Qt, встроенный дизайнер интерфейсов как на QML, так и на QtWidgets [4].

Для начала работы с проектом необходимо зрительно разделить между собой разделы программы. Необходимо сделать интерфейс похожим на мобильное приложение, определив под каждый блок свой собственный экран. Первый экран содержит главное меню, из которого пользователь может выбрать интересующий его раздел – калькулятор, кодирование звука или таблицу истинности (рис.1).

Первый раздел – Калькулятор, создан для перевода чисел из одной системы счисления (СС) в другую СС (см. рис.2). В переводчике реализованы стандартные СС, начиная с двоичной и заканчивая 16-тиричной СС.

 

Рисунок 1. Главное меню приложения

 

Рисунок 2. Первый раздел – Калькулятор

 

Второй раздел – Кодирование звука, состоит из четырех вкладок: теория, пример, задания, калькулятор. Например, во вкладке «Задания» пользователь может протестировать свои знания по теме «Кодирование звука» (рис.3).

 

Рисунок 3. Второй раздел – Кодирование звука (вкладка задания)

 

Во вкладке «Калькулятор» можно рассчитать всевозможные задания из категории кодирования звука, тем самым удостовериться в правильности решения заданий из предыдущей вкладки «Задания» (рис.4).

 

Рисунок 4. Второй раздел – Кодирование звука (вкладка калькулятор)

 

По нажатию на кнопку со значением «Найти размер файла», система рассчитает нам размер файла по введенным значениям: вид звукозаписи, глубина кодирования, частота дискретизации, время записи.

 

Рисунок 5.1. Фрагмент кода для работы с Qt

 

Рисунок 5.2. Фрагмент кода для работы с Qt

 

В общем виде, работу программного продукта можно представить в виде Use Case диаграммы (рис.6):

 

Рисунок 6. UML-диаграмма прецедентов программного продукта

 

Для реализации описанных функций приложения нам потребовались наборы стандартных классов Qt: QByteArray, QWidget, QString, QApplication, QMainWindow, QDialog; и разработанные: audioencode, Notation, Truthtable.

К примеру, стандратный класс QMainWindow предоставляет главное окно приложения. Унаследовано от QWidget. Объявляется как #include <QMainWindow> [2].

Главное окно предоставляет структуру для создания пользовательского интерфейса приложения. Qt имеет класс QMainWindow и связанные с ним классы для управления главным окном. QMainWindow имеет собственный компоновщик, в который вы можете добавлять QToolBar'ы, QDockWidget'ы, QMenuBar и QStatusBar. Компоновщик имеет центральную область, которая может быть занята любым виджетом [2].

Создание главного окна без центрального виджета не поддерживается. Нужно иметь центральный виджет, даже если это просто «заполнитель» [2].

Родительский виджет называется окном. Обычно окно имеет рамку и полосу с заголовком, хотя используя соответствующие флаги окна можно создать окно без такого внешнего оформления.

Класс audioencode представляет собой окно/панель для раздела «Кодирование звука». Данное окно является наиболее информационным, в нем расположились четыре вида вкладок.

Класс Notation представляет собой окно для раздела «Калькулятор». В котором производится перевод из одной СС в другую.

Класс Truthtable также является окном, в нем расположилась таблица истинности.

В данной статье мы описали принцип разработки программы для тестирования знаний по основам информатики. Данное приложение облегчит работу многим людям, интересующимся вычислительной информатикой, так как, например, в разделе подготовка к ЕГЭ по информатике им стоит ввести лишь определённые данные, а остальные вычисления произведет сама программа. Данные вычисления были произведены благодаря определенным функциям C++. Qt имеет огромные возможности и, несомненно, является одной из лучших библиотек своего класса. Однако его изучение и применение является полезным не только поэтому. Большую роль играет его распространенность. Эта библиотека присутствует сегодня практически на любом компьютере продвинутого пользователя. Еще раз можно отметить, что данная библиотека является не только интересной, но и полезной для многих школьников, студентов и т.д.

 

Список литературы:
1. ЕГЭ по информатике (2016) // Поляков, 2000-2016. URL: http://kpolyakov.spb.ru/school/ege.htm (дата обращения: 19.05.2016).
2. Описание класса QMainWindow // Все о кроссплатформенном программировании, 2016. URL: http://doc.crossplatform.ru/qt/4.4.3/ qmainwindow.html#details (дата обращения: 29.05.2016). 
3. Разработка интерфейса приложения // Все о кроссплатформенном программировании, 2016. URL: http://doc.crossplatform.ru/qtcreator/2.0.1/ creator-design-mode.html (дата обращения: 24.06.2016).
4. CrossPlatform // Все о кроссплатформенном программировании, 2016. URL: http://doc.crossplatform.ru/ (дата обращения: 28.05.2016). 
5. IDE для MotoMagx/Dingux?! Легко! Подрубаем Toolchain’s Et SDK/s к Qt Creator’у! И не только! // EXL’s Developer Blog, 2016. URL: http://exlmoto.ru/qtcreator-motomagx-dingux/ (дата обращения: 07.05.2016). 
6. Qt // Wikipedia, the free encyclopedia, 2016. URL: https://ru.wikipedia.org/wiki/Qt (дата обращения: 07.05.2016).