1
所以我正在做一個網絡瀏覽器作爲我的第一個Qt項目(驚喜!),我想知道爲什麼調用setWindowState(Qt::WindowMaximized)
不改變窗口幾何。我有這樣的代碼:Qt WindowMaximize不改變幾何圖形(C++)
從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
似乎並未更新。我究竟做錯了什麼?
好的,在這種情況下,網格佈局是否最有意義? – Nick
對QBoxLayout或QStackedLayout應該沒問題。可以使用父控件的setContentsMargins()函數設置60像素邊距。 –