setGeometry для кнопки в группе с Qt?

Так что я нахожусь в процессе создания моего первого GUI. До сих пор я создал групповой блок, а затем сделал макет и добавил виджеты кнопок в этот макет (а затем добавил этот макет в группу).

Все это прекрасно работает, но когда я его компилирую, оно заполняет всю ширину группового блока и что-то вроде «50» по высоте.

Затем я попытался использовать setGeometry на кнопках, но это ничего не делает, я могу установить размер с setFixedSize() но не позиции, почему это? и как я могу установить положение на кнопках?

0

Решение

Вы должны попытаться добавить горизонтальные и вертикальные разделители в макете, чтобы разместить виджет в нужном месте макета. Например, вы можете разместить две горизонтальные прокладки с левой и правой стороны вашей кнопки и две вертикальные прокладки снизу и сверху. Таким образом, ваша кнопка всегда остается в центре макета с соответствующим размером.

Если вы используете Qt Designer, вы можете найти их в разделе Spacers и добавить их в свой макет. Если нет, вы можете использовать QSpacerItem, например:

QSpacerItem *horizontalSpacer;
horizontalSpacer = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
gridLayout->addItem(horizontalSpacer, 0, 0, 1, 1);
2

Другие решения