Qt:子QWidget初始大小的鸡/蛋问题

时间:2011-08-03 19:21:26

标签: qt

我有一个* .ui定义我正在加载并运行。某个子小部件的矩形为(x = 0,y = 88,w = 400,h = 200)。当我基于* .ui和show()实例化QWidget类时,一切都很好。

我需要能够在显示小部件之前获取此矩形。

当我只是实例化类时,几何对象总是返回(0,0,100,30)。只有在我“显示()”小部件后,我才会得到正确的几何图形。我可以使用sizeHint来处理这个子小部件,但是“提示-X”或“提示-Y”呢?在显示小部件之前,如何到达我的(x = 0,y = 88,w = 400,h = 200)?这对我的一个应用程序至关重要(这是第三方组件要求,它不能更改)。

1 个答案:

答案 0 :(得分:1)

resize event会告诉您需要了解的内容,但根据您的具体情况,有多种截取方式可供您使用。

如果您正在处理自己的QWidget子类,则可以覆盖resizeEvent()。如果没有,您可以在对象上安装event filter

还有其他一些选项可供选择。文档的重要部分是The Event SystemQCoreApplication::notify