Урок №7. Создание меню и панели инструментов в Qt5

  Дмитрий Бушуев  | 

  Обновл. 1 Дек 2019  | 

 456

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

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

Создание простого меню

Сейчас мы попробуем создать простое меню.

Заголовочный файл — simplemenu.h:

У нас есть строка меню с элементами и действиями, которые активируются по нажатию кнопки мыши (по соответствующем пункте). Чтобы работать с меню, нам сначала нужно выполнить наследование виджета QMainWindow.

Файл с реализацией — simplemenu.cpp:

Класс QAction представляет собой абстрактное действие пользовательского интерфейса, которое может быть вставлено в виджеты. В приложениях множество общих команд может быть вызвано через меню, панель инструментов и сочетания горячих клавиш. Поскольку пользователь ожидает, что каждая команда будет выполняться одним и тем же способом, независимо от используемого пользовательского интерфейса, то полезно представить каждую команду как действие. При этом каждый объект класса QMenu может иметь один или несколько объектов действия.

Основной файл программы — main.cpp:

Результат:


Иконки, горячие клавиши и разделители


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

Заголовочный файл — anothermenu.h:

В данном примере у нас есть одно меню с тремя действиями. При этом только действие Quit является рабочим. Мы также установим разделитель — горизонтальную линию, которая позволит нам группировать действия меню в некоторые логические группы и сочетание клавиш CTRL+Q, которое будет завершать работу нашего приложения.

Файл с реализацией — anothermenu.cpp:

Основной файл программы — main.cpp:

Результат:


Меню с чекбоксом

Теперь попробуем создать пункт меню, который можно будет отметить галочкой.

Заголовочный файл — checkable.h:

Файл c реализацией — checkable.cpp:

Основной файл программы — main.cpp:

Результат:


Добавление панели инструментов


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

Заголовочный файл — toolbar.h:

Чтобы создать панель инструментов, нужно выполнить наследование виджета QMainWindow.

Файл с реализацией — toolbar.cpp:

Основной файл программы — main.cpp:

Результат:


Каркас приложения

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

Заголовочный файл — skeleton.h:

Создаём элементы меню, панель инструментов и панель состояния.

Файл с реализацией — skeleton.cpp:

Главный файл приложения — main.cpp:

Результат:


Заключение


В следующем уроке мы рассмотрим набор классов для управления макетом нашего приложения.

Оценить статью:

Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 (4 оценок, среднее: 5,00 из 5)
Загрузка...

Добавить комментарий

Ваш E-mail не будет опубликован. Обязательные поля помечены *