我需要为QWidget设置sizepolicy,以便在布局中调整大小时宽度小部件总是6的倍数(宽度= 6,12,18,24,30,36 ......)并且高度总是4的倍数。我该怎么做?
答案 0 :(得分:0)
您需要处理窗口小部件的调整大小事件。子集窗口小部件并重新实现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);
}