簡體   English   中英

將彈出窗口放置在Qt主窗口的右下角

[英]Placing popup window at the bottom right corner of main window in Qt

我正在嘗試在主窗口的右下角放置一個彈出窗口。即使主窗口已調整大小/展開,它也應該在這里可見。
如何在Qt 5.9(在C ++中)中做到這一點?

您問題中的重要任務是在調整QMainWindow大小或移動QMainWindow時移動彈出窗口,為此,我們必須重寫resizeEventmoveEvent方法。 以下代碼顯示了如何執行此操作:

void MainWindow::movePopUp()
{
    QPoint p = mapToGlobal(QPoint(size().width(), size().height())) -
            QPoint(popup->size().width(), popup->size().height());
    popup->move(p);
}

void MainWindow::resizeEvent(QResizeEvent *event)
{
    movePopUp();
    QMainWindow::resizeEvent(event);
}

void MainWindow::moveEvent(QMoveEvent *event)
{
    movePopUp();
    QMainWindow::moveEvent(event);
}

輸出:

在此處輸入圖片說明

完整的示例在這里

暫無
暫無

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

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