我正在尝试在主窗口的右下角放置一个弹出窗口。即使主窗口调整大小/展开,也应该可以看到它。
我怎么能在Qt 5.9(用C ++编写)中做到这一点?
答案 0 :(得分:0)
您的问题中的重要任务是在调整QMainWindow或移动QMainWindow时移动弹出窗口,为此我们必须覆盖resizeEvent
和moveEvent
方法。以下代码显示了如何执行此操作:
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);
}
输出:
完整的示例是here