• 1450阅读
  • 1回复

[原创]多屏幕时弹出式窗口居中,防坑 [复制链接]

上一主题 下一主题
在线snow_man_0
 

只看楼主 倒序阅读 楼主  发表于: 2020-12-04
void moveWindowCenter(QWidget* widget)
{
    if (widget) {
        QRect re = QApplication::activeWindow()->screen()->availableGeometry();
        widget->move((re.width() - widget->width()) / 2 + re.x(),
                     (re.height() - widget->height()) / 2);
    }
}
----------------------------------
调用
widget.adjustSize();
moveWindowCenter(widget);
widget.show();

------------------------------------------
防坑提示:多屏幕时,弹出式窗口,可在当前屏幕居中,不会在其它屏幕居中

离线zy1233

只看该作者 1楼 发表于: 2020-12-04
    QDesktopWidget * deskTop = QApplication::desktop();
    int curMonitor = deskTop->screenNumber(this);
    QRect re = deskTop->availableGeometry(curMonitor);
widget->move((re.width() - widget->width()) / 2 + re.x(),
                     (re.height() - widget->height()) / 2);
快速回复
限100 字节
 
上一个 下一个