Lestoroer
Апрель 27, 2016 12:38:11
PyQt (не важно 4 или 5)
В общем имеется вертикальный бокс, для того, чтобы установить объект в окно виджета мы применяем setLayout(вертикальный бокс).
Все. Теперь у нас объект имеется в окне.
Вопрос, как “выгрузить\удалить\убрать\скрыть” этот вертикальный бокс с окна виджета?
Несколько пояснений по вопросу: помимо setLayout есть setLayoutDirection(), так вот, чтобы его убрать есть метод unsetLayoutDirection(), однако, к setLayout я такого не нашел, может быть кто знает, как решить проблему?
P.S.
Предлагать скрывать компоненты по одиночке с помощью метода hide() или удалять из контейнера объекты методами removeWidget() и removeItem() не стоит, это не совсем то, что нужно.
Lestoroer
Апрель 27, 2016 18:51:30
Ладно, тогда может быть кто-нибудь знает, как из компонента “сетка” все виджеты и итемы выкинуть ? В общем что нужно-то, метод какой-нибудь, который все компоненты в рабочем окне удалит разом (они у меня в сетке, поэтому вот надо придумать как из сетки выкинуть). Как-то надо очистить окно QWidget за один метод.
Lestoroer
Апрель 28, 2016 16:30:38
Слушай, а создавать окно в которое вложен контейнер с окном неплохая тема, я еще подумаю над этим. . Я, кстати, решил проблему, правда не “одним кликом”, пришлось список составить, но все же. Создал список - вложил туда все элементы и прогнал их циклом фор с установкой setVisible(False) тоже неплохо, но на первый взгляд твой метод перспективнее, быстрее и удобнее
vic57
vic57
Апрель 29, 2016 17:39:35
методы hide()/show() имеют все объекты, унаследованные от QWidget - GroupBox например. я им чаще пользуюсь