Qt窗口内悬浮小部件操作,比如OpenGLWidget绘图窗口、内嵌地图窗口内悬浮部件
1. 建立小部件Widget,并将当前显示窗口设为Widget的父窗口
paraDlg = new DlgParameterPanel; paraDlg->setParent(this); paraDlg->show();
2. 重载resizeEvent(QResizeEvent *event),重新设置部件的位置,即可实现呢悬浮效果
QRect thisRect = this->geometry(); QRect paraRect = paraDlg->geometry(); paraRect.setRect(thisRect.width() - paraRect.width(), 0, paraRect.width(), paraRect.height()); paraDlg->setGeometry(paraRect); paraDlg->raise();
最终效果如下图: