Я разрабатываю графический интерфейс в Qt.у меня есть QWidget
с четырьмя QPushButton
внутри QHBoxLayout
.Эти кнопки имеют значок каждая.Мне нужно переопределить QWidget::resizeEvent(QResizeEvent* event)
, потому что я не знаю точно, каким будет размер моего окна.То же самое для моих кнопок.Это значит, что я тоже должен изменить размеры иконок.Я думал разместить:
button1->setIconSize(button1->size());
внутри myWidget::resizeEvent(QResizeEvent* event)
, но когда я запускаю свое приложение, myWidget::resizeEvent
вызывается рекурсивно .. Я пытался даже установить значок с помощью QtDesigner (eclipse plugin), но ничего ...Единственное, что дает хороший результат - это установка фиксированного размера кнопок, но это не то, что мне нужно.код resizeEvent
:
void myWidget::resizeEvent(QResizeEvent* event) {
this->QWidget::resizeEvent(event);
ui.button1->setIconSize(ui.button1->size());
ui.button2->setIconSize(ui.button2->size());
ui.button3->setIconSize(ui.button3->size());
ui.button4->setIconSize(ui.button4->size());
}
Почему resizeEvent
вызывается рекурсивно с setIconSize
?Есть ли кто-то, кто испытал ту же проблему?Предложения сделать то же самое, не проходя resizeEvent
?