所以我正在制作一个 Web 浏览器作为我的第一个 Qt 项目(惊喜!)我想知道为什么调用 setWindowState(Qt::WindowMaximized)
没有改变窗口几何形状。我有这段代码:
来自 mainwindow.h:
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
private:
Ui::MainWindow *ui;
};
来自 mainwindow.cpp:
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent), ui(new Ui::MainWindow)
{
ui->setupUi(this);
// this->geometry() is the same here...
setWindowState(Qt::WindowMaximized);
ui->webView->setGeometry(0, 60, geometry().width(), geometry().height()-60);
// ...as it is here.
}
如您所知,我正在尝试在窗口最大化和 QWebView 也最大化的情况下启动应用程序。基本上,每当调整主窗口大小时,我还想用更新的高度和宽度调用 ui->webView->setGeometry
。但是 MainWindow::geometry
似乎没有更新。我做错了什么?
最佳答案
我必须仔细检查,但在您的主窗口获得显示事件之前,您的几何图形可能无法正确更新。
但是,我建议您将 QWebView 放在布局中,而不是每次主窗口更改大小时都尝试手动调整它的大小。
关于c++ - Qt WindowMaximize 不改变几何(C++),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6884960/