Найти - Пользователи
Полная версия: PyQt4 | Задать ширину бокса?
Начало » GUI » PyQt4 | Задать ширину бокса?
1
Kyrym
При растяжении окна все виджеты растягиваются, а, допустим, у меня 2 столбца, и я хочу, чтобы левый столбец имел фиксированную ширину, а правый растягивался! Такое реально сделать?
Конструкция: 2 вертикальных бокса находятся внутри горизонтального.
У классов QHBoxLayout() и QVBoxLayout() я не нашёл методов с размерами.
Как быть в таком случае?
FishHook
Да все просто
Kyrym
Я вижу в *.ui функцию SetFixedSize, но она же вешается на весь виджет!?
Типа:
 window.setFixedSize(500,250)

Чистый код, увы, я посмотреть не могу.
FishHook
Kyrym
но она же вешается на весь виджет!
Ну и? Вешайте на каждый виджет внутри вашего QVBoxLayout, или сгруппируйте их все в контейнере вроде Frame
Kyrym
Обратил внимание, что в Вашем примере сами кнопки слева имеют фиксированную ширину, но сам левый столбец всё равно растягивается, т.е. данное решение не верно.

Если я правильно понимаю, надо сделать 2 виджета с абсолютным позиционированием и в правый виджет каким-то образом поставить растяжение по ширине и высоте?

В общем, вопрос открыт.
Metallikus
А какой виджет у вас используется в качестве левого столбца? Поступите с ним вот так:
 QFrame.setFixedWidth(100)
Kyrym
В качестве левого столбца используется QVBoxLayout().
Мне кажется, если зафиксировать QFrame, вставленный в вертикальный бокс, то VBox всё-равно будет растягиваться.

Для себя данный вопрос я решил использованием сетки. Делаю родителем QGridLayout. В его первый столбец загоняю VBox, а справа объединяю примерно 4 столбца под QScrollArea. И получается очень даже хорошо. Левый столбец, конечно, всё-равно растягивается, но уже совсем слабо.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB