我正在尝试创建一个QMainWindow
来封装我正在插入的QGraphicsView
。我希望它开始最大化,所以我这样做:
QMainWindow *mainWindow = new QMainWindow();
mainWindow->setWindowState(Qt::WindowMaximized);
mainWindow->show();
qDebug() << mainWindow->size();
其中说我的最大窗口是200x100,这显然是不正确的。
我错过了某种更新功能吗?我不明白为什么它不会更新大小。我也尝试使用showMaximized()
得到相同的结果。
修改的
我的最终目标是使用QMainWindow作为包含QGraphicsScene的QGraphicsView的容器。最重要的是,我想要一个50%宽度和100%高度的QWebView,以所有内容为中心。
所以,我需要宽度和高度才能使所有坐标和尺寸都正确。
答案 0 :(得分:1)
嗯,setWindowState()的效果不是立竿见影的,它是异步执行的。当窗口状态发生变化时,窗口小部件会收到changeEvent(),因此您应该重新实现this或resizeEvent()以在最大化发生后获取width()和height()。