【发布时间】:2011-07-30 17:56:43
【问题描述】:
所以我将 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 似乎没有更新。我做错了什么?
【问题讨论】:
标签: c++ qt geometry window-resize qmainwindow