Qt 把窗體顯示在螢幕的中心

小鷹資訊科技服務部發表於2019-07-07

Qt專案,需要把窗體顯示在螢幕的中心,一番查詢與探索之後,找到了答案:

https://forum.qt.io/topic/21035/how-to-move-the-window-to-the-center-of-the-screen/4

1. 主窗體:

FormMain::FormMain(QWidget *parent) : QMainWindow(parent), ui(new Ui::FormMain)
{
    ui->setupUi(this);

    //螢幕居中
    this->setGeometry(
        QStyle::alignedRect(
            Qt::LeftToRight,
            Qt::AlignCenter,
            this->size(),
            qApp->desktop()->availableGeometry()
        )
    );

}

2. 其他窗體

//...w是窗體(FormEdit)
w.move(QApplication::desktop()->screen()->rect().center() - w.rect().center());
w.show();
w.raise();

效果:

 

相關文章