Qt - 检测所有小部件第一次完成大小调整的时间

时间:2015-05-13 13:06:21

标签: c++ qt

有没有办法检测QDialog中的所有小部件(其上有布局)何时调整大小?

我根据小部件的宽度执行了昂贵的操作。问题是,当我启动QDialog窗口时,窗口小部件的宽度为90,然后一段时间后(据说调整大小完成后),宽度变为700(我在屏幕上看到它的大小)。

所以问题是:是否有一种方法/事件在第一次调整所有小部件时被触发?

1 个答案:

答案 0 :(得分:2)

我认为你需要继承QDialog并覆盖virtual void resizeEvent( QResizeEvent* event )函数。像这样:

// protected override
void MyDialog::resizeEvent( QResizeEvent* event )
{
    QDialog::resizeEvent( event );

    // Check the size of dialog at this point. Or define a signal and emit from here.
}