Найти тему
programmer's notes (python and more)

Программирование на языке Python. Библиотека PyQt5. Двумерное меню, класс QtWidgets.QMenuBar

Доброго времени суток, читатели, зрители моего канала programmer's notes. Не забывайте подписываться и писать свои комментарии к моим статьям и видео.

Классы QMenuBar и QGridLayout в построении двумерного меню

Двумерное меню обычно считается более солидным объектом (см. статью о QMenu). Для его создания используется класс QMenuBar. И ещё один понадобится нам, чтобы меню выглядело классически. Это класс QGridLayout. Это один из нескольких классов по созданию макетов. Макеты помогают аккуратно располагать элементы в окне. О них разговор будет ещё впереди. Сегодня просто частное использование. QGridLayout создаёт так называемый индексный макет или макет сетки.

Ниже представлена программа которая создаёт окно с двумерным меню (см. Рисунок 1). С помощью пунктов меню можно менять цвет окна.

Скриншот программы. Полный текст программы см. по ссылке ниже
Скриншот программы. Полный текст программы см. по ссылке ниже
primer242.py

Несколько пояснений к программе.

  • QMenuBar(self) — создаёт двумерное меню в данном окне.
  • QMenuBar.addMenu() — создание пунктов меню, название вертикальных выпадающих меню.
  • QMenuBar.addAction() — добавление пунктов в выпадающих меню.
  • QMenuBar.addSeparator() — добавление разделители в выпадающее меню.
  • QGridLayout() — создание макета.
  • QWidget.setLayout() — добавление макета в окно.
  • QGridLayout.addWidget() — добавление элемента в клетку макета.
Рисунок 1.
Рисунок 1.

Ну, пока всё!

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

А можете двумя пальцами меню вызвать?
А можете двумя пальцами меню вызвать?