Так что я нахожусь в процессе создания моего первого GUI. До сих пор я создал групповой блок, а затем сделал макет и добавил виджеты кнопок в этот макет (а затем добавил этот макет в группу).
Все это прекрасно работает, но когда я его компилирую, оно заполняет всю ширину группового блока и что-то вроде «50» по высоте.
Затем я попытался использовать setGeometry
на кнопках, но это ничего не делает, я могу установить размер с setFixedSize()
но не позиции, почему это? и как я могу установить положение на кнопках?
Вы должны попытаться добавить горизонтальные и вертикальные разделители в макете, чтобы разместить виджет в нужном месте макета. Например, вы можете разместить две горизонтальные прокладки с левой и правой стороны вашей кнопки и две вертикальные прокладки снизу и сверху. Таким образом, ваша кнопка всегда остается в центре макета с соответствующим размером.
Если вы используете Qt Designer, вы можете найти их в разделе Spacers и добавить их в свой макет. Если нет, вы можете использовать QSpacerItem, например:
QSpacerItem *horizontalSpacer;
horizontalSpacer = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
gridLayout->addItem(horizontalSpacer, 0, 0, 1, 1);