簡體   English   中英

如何使用qt設計器自動集中小部件?

[英]How to centralize widget automatically with qt designer?

我正在全屏創建一個應用程序,但是在 qt design 中編輯時沒有這樣的選項。 因此,當我將小部件放在 qt 設計器上時,它看起來像這樣:

在此處輸入圖片說明

它看起來像居中,但它以標准窗口大小為中心:

在此處輸入圖片說明

現在看看當我增加窗口大小時會發生什么:

在此處輸入圖片說明

你快到了。 如果您添加 2 個垂直間隔,將它們和您的水平布局置於垂直布局,最后將主窗口上的所有內容置於網格布局中,您將實現您想要的。 它看起來像這樣: 主窗口預覽 小部件樹

這樣,無論窗口的大小如何,小部件都會放置在窗口的正中央。 只需確保間隔器的 sizeType 屬性設置為 Expanding。 窗戶

或者,您可以通過覆蓋QMainWindow::resizeEvent來實現相同的功能。 像這樣的東西:

//In your .h file
protected:
    void resizeEvent(QResizeEvent *event) override;
//In your .cpp file
void MainWindow::resizeEvent(QResizeEvent *event)
{
    ui->pushButton->setGeometry(this->width()/2 - ui->pushButton->width()/2,
                                this->height()/2 - ui->pushButton->height()/2,
                                ui->pushButton->width(),
                                ui->pushButton->height());
}

它需要更多的編碼,但允許更多的靈活性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM