我已经在自定义的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内。
有人可以帮帮我吗?
答案 0 :(得分:0)
你不需要为这种微不足道的事情定制课程。尺寸提示的目的完全不同。默认布局可以处理1/10宽度。您应该使用QGridLayout::setColumnStretch
功能。例如,将两列的拉伸因子设置为1和9会将第一列的大小调整为父级的1/10(假设第二列的内容可以增长得足够多)。