子父级层次结构如下:mainWindow - > centralWidget - > frame - >小部件。基于子窗口小部件调整QMainWindow的大小?
在应用程序生命周期中调整Widget的大小,但它总是设置为固定大小。我希望QMainWindow根据它调整大小 - 以显示所有小部件所需的最小大小。
要做到这一点,我目前必须这样做。
widget->setFixedSize(x, y);
frame->setFixedSize(frame->sizeHint());
centralWidget->setFixedSize(centralWidget->sizeHint());
mainWindow->setFixedSize(mainWindow->sizeHint());
如果我只调整主窗口的大小,它将无法正常工作。小部件的所有父母都需要调整大小才能使其工作。有没有更优雅的方式?是否有可能让主窗口调用调整它的所有孩子?
注意:除“小部件”外的所有小部件都具有自动布局管理功能。所以我觉得很奇怪,他们不会基于'小部件'来调整自己的大小。
我可能不会理解完全是你的问题,但你能不能叫'了setMinimumSize()',而不是'setFixedSize()'? – Chris 2012-03-30 14:43:27