Ограничения размеров виджетов Qt
Мне нужно установить sizepolicy для QWidget, чтобы ширина виджета всегда была кратна 6 при изменении размера в макете (ширина = 6,12,18,24,30,36...), а высота всегда кратна 4. Как я могу это сделать?
1 ответ
Вам необходимо обработать события изменения размера вашего виджета. Либо подкласс виджета и переопределение resizeEvent
метод или установить фильтр событий для виджета. В обработчике события resize проверьте текущий размер и исправьте его при необходимости:
QSize size = widget->size();
size.setWidth(qRound(size.width() / 6) * 6);
size.setHeight(qRound(size.height() / 4) * 4);
if (size != widget->size()) {
widget->resize(size);
}