QWidget sizeHint()

时间:2014-12-14 19:54:17

标签: c++ qt qwidget

我已经在自定义的sizeHint()类中重新实现(重载)QPushButton函数,如下所示:

QSize CustQPushButton::sizeHint()const         
{
   QWidget *parentWindow=this->parentWidget(); //a pointer to the parent window   
  return QSize(parentWindow->width()/10,60);
}
问题是:

当窗口最初显示时,我的按钮的宽度是预期的(窗口的1/10),但是当窗口调整大小时 按钮不会按比例调整窗口(父级)的大小。 CustQPushButton大小政策设置为Fixed/Fixed,我的实例化按钮位于QGridLayout内。

有人可以帮帮我吗?

1 个答案:

答案 0 :(得分:0)

你不需要为这种微不足道的事情定制课程。尺寸提示的目的完全不同。默认布局可以处理1/10宽度。您应该使用QGridLayout::setColumnStretch功能。例如,将两列的拉伸因子设置为1和9会将第一列的大小调整为父级的1/10(假设第二列的内容可以增长得足够多)。