Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: fear от Август 16, 2006, 20:11



Название: Как разместить виджеты в виде матрицы?
Отправлено: fear от Август 16, 2006, 20:11
Проблема в том, что если размещать их в двух вертикальных слоях, <QLabel> перестаёт славливаться с <QComboBox> по вертикали,
а если размещать в двух горизонтальных слоях, то у каждого <QComboBox> свои размеры. Вот так вот.

---------------------------------
|<QLabel>||<QComboBox>|
---------------------------------
---------------------------------
|<QLabel>||<QComboBox>|
---------------------------------
---------------------------------
|<QLabel>||<QComboBox>|
---------------------------------


Название: Как разместить виджеты в виде матрицы?
Отправлено: noosooth от Август 16, 2006, 22:04
QGridLayout ?


Название: Как разместить виджеты в виде матрицы?
Отправлено: Guk от Август 16, 2006, 22:09
На скорую руку, в большом проекте, где красота интерфейсного решения было не главным критерием оптимизации я придумал руками выставлять максимальный размер QComboBox-a и его минималльный единым фиксированным значениям. Тогда все Комбо-боксы будут одинакового размера (как ты нарисовал на рисунке), а растягиваться в лейауте будут только Лейблы.
Если покумекать  :idea:  - можно найти красивее решение, а если не хочеться заморачиваться - то вот быстрое и простое решение.


Название: Как разместить виджеты в виде матрицы?
Отправлено: bigirbis от Август 17, 2006, 08:32
Быстрее, дешевле и красивее, чем QGridLayout не получится.
Единственное, его надо будет тоже в какой-нибудь QLayout запихать (для кнопарей, там всяких).