我正在重构一些旧代码,而我发现不赞成使用QDesktopWidget::availableGeometry来支持QGuiApplication:screens()
我使用以下代码设置了窗口的几何属性(特别是将其与屏幕中心对齐),但是现在它不再起作用了。

    win.setGeometry(
        QStyle::alignedRect(
            Qt::LeftToRight,
            Qt::AlignCenter,
            win.size(),
            qApp->desktop()->availableGeometry() // deprecated
        )
    );


我必须进行哪些更改才能使用屏幕方法?

最佳答案

假设您在第一个屏幕上,则必须使用:

qApp->primaryScreen()->availableGeometry();

如果在第n个屏幕上:
qApp->screens().at(n)->availableGeometry();

08-16 00:49