Qt小部件大小限制

时间:2013-07-28 15:11:45

标签: qt layout size qwidget

我需要为QWidget设置sizepolicy,以便在布局中调整大小时宽度小部件总是6的倍数(宽度= 6,12,18,24,30,36 ......)并且高度总是4的倍数。我该怎么做?

1 个答案:

答案 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);
}