Автоматическое растяжение виджетов в PyQt Designer

Категория: Разработка Теги: Python Опубликовано: 30 ноября 2020 г. 23:16
PyQt Designer
PyQt Designer

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

Суть истории в том, что не мог разобраться с автоматическим растяжением виджетов в PyQt при помощи Qt Designer. У меня было несколько QTableView на разных слоях Layout, и не получалось сделать так, чтобы при изменении размера окна таблицы тянулись бы за краем окна. Советов в интернете много, но все они не отвечали на мои вопросы, и у меня ничего не получалось. Позже, посмотрев несколько видео, я разобрался и сейчас коротко объясню, как решил проблему.

В общем, сначала объясню, как это сделать с нуля, когда у вас объекты не размещены на форме. 

На первом скриншоте размещаем три кнопки, далее выделяем главное окно, то есть объект MainWindow. После этого необходимо нажать кнопку "Скомпоновать по горизонтали" или "Скомпоновать по вертикали".

Кнопки "Скомпоновать по горизонтали" и "Скомпоновать по вертикали"

При нажатии на одну из данных кнопок объекты, размещенные в MainWindow станут скомпонованы и будут растягиваться при изменении размера окна.

Скомпоновонный вариант с тремя кнопками

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

Похожие материалы:


LiveWires ModuleNotFoundError: No module named 'beginners'
LiveWires ModuleNotFoundError: No module named 'beginners'
Автор: Алексей Черемных30 ноября 2020

Начинающие программисты, которые читают книгу Майкла Доусона могут встретить ошибку:

ModuleNotFoundError: No module named 'beginners'

Она связана с пакетом livewires. Если …

Результат преобразования при помощи nuitka
Скомпилировать python-код в exe файл на языке C
Автор: Алексей Черемных16 ноября 2021

Недавно нашел простую и очень мощную библиотеку на Python для компиляции кода в исполняемый файл на языке C. Сама фраза …

Deprecation Warning: an integer is required (got type float)
Deprecation Warning: an integer is required (got type float)
Автор: Алексей Черемных30 ноября 2020

При разработке программы в python 3 встретилась ошибка:

D:\LicenseChecker\1.6\main.pyw:45: DeprecationWarning: an integer is required (got type float).  
Implicit conversion to …
py-скрипт
Перенос комментариев из Joomla в Django
Автор: Алексей Черемных3 ноября 2021

Раньше один из моих сайтов был на Joomla 3, но я его переписал на Django. Успешно перенёс все материалы, единственное, …

Классы для многопоточности
Как понять, что ты стал серьезным программистом?
Автор: Алексей Черемных10 июля 2022

Любой программист рано или поздно задаётся вопросом "могу ли я себя считать серьезным программистом? или я всё еще программист уровня …

Django UnicodeDecodeError: utf-8 codec can't decode byte
Django UnicodeDecodeError: utf-8 codec can't decode byte
Автор: Алексей Черемных29 января 2023

Столкнулся с проблемой при запуске отладочного сервера на виртуальной машине. Сначала я подумал, что проблема с версией Python, так как …

Все теги:

Подписка на рассылку свежих статей