8

我想查询一个小部件的宽度来进行一些自定义布局管理。不幸的是,无论小部件实际有多大或多小,以下代码都会返回 640

int myWidth = this->rect().size().width();  // "this" is my class derived from QWidget
// myWidth is set to 640

编辑:

int myWidth = this->width()返回相同的 640

4

1 回答 1

9

正确的地方做特殊布局管理被覆盖resizeEvent。此时小部件的大小是确定的(通常由父小部件的布局,基于大小提示大小策略)。它也保证在第一次显示小部件之前被调用。记住也要调用超类resizeEvent,至少如果您在布局中有子小部件。

于 2013-02-18T20:21:01.360 回答