我在自定义的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中。
有人能帮帮我吗?
发布于 2014-12-15 01:22:26
对于如此琐碎的事情,您不需要定制类。大小提示的目的完全不同。默认布局可以处理1/10宽度。您应该使用QGridLayout::setColumnStretch函数。例如,将两列的拉伸因子设置为1和9将使第一列的大小调整为父列的1/10 (假设第二列的内容可以增长足够多)。
https://stackoverflow.com/questions/27473383
复制相似问题