Доброго времени суток, читатели, зрители моего канала programmer's notes. Не забывайте подписываться и писать свои комментарии к моим статьям и видео.
Сеточный макет QGridLayout
В предыдущей статье я рассматривал вопрос масштабирования элементов в окне. Но в pyqt5 есть и отдельный класс, который упрощает масштабирование. Результат будет в принципе такой-же как в предыдущей статье. Кстати класс QGridLayout (сеточный макет) мы уже знаем из статьи.
Ниже представлена программа, где используется QGridLayout (см. Рисунок1 и Рисунок 2).
Пояснение к программе
- Обращаю внимание на строки
grid = QGridLayout()
self.setLayout(grid)
Они создают макет и присоединяет макет к окну. После этого всё готово к использовании макета. - Сеточный макет состоит из клеток, которые нумеруются двумя индексами: i, j - номер строки и номер столбца. Наша задача распределить элементы по клеткам, при этом и размер элементов и размер окна автоматически настраивается средствами QGridLayout.
- QGridLayout.addWidget() - метод помещения элемента в указанную клетку. Первым параметром указывается объект, второй и третий - обозначают клетку. Есть ещё третий и четвертый, которые указывают сколько строк будет занимать элемент (для кнопок QPushButton и строк редактирования QLineEdit это не работает) и сколько столбцов. Как видно из текста и рисунков 1, 2 можно оставлять пустые клетки.
Ну, пока всё!
Пишите свои предложения и замечания, и занимайтесь программированием, а также проектированием баз данных, хотя бы для поддержания уровня интеллекта.