我正在重构一些旧代码,而我发现不赞成使用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();