查看完整版本: [-- 多屏幕时弹出式窗口居中,防坑 --]

QTCN开发网 -> Qt基础编程 -> 多屏幕时弹出式窗口居中,防坑 [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

snow_man_0 2020-12-04 11:29

多屏幕时弹出式窗口居中,防坑

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 2020-12-04 16:07
    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);


查看完整版本: [-- 多屏幕时弹出式窗口居中,防坑 --] [-- top --]



Powered by phpwind v8.7 Code ©2003-2011 phpwind
Gzip disabled