Python 弃用警告:QDesktopWidget.availableGeometry(int屏幕)常量已弃用centerPoint=QDesktopWidget().availableGeometry().center()

Python 弃用警告:QDesktopWidget.availableGeometry(int屏幕)常量已弃用centerPoint=QDesktopWidget().availableGeometry().center(),python,python-3.x,qt,pyqt5,pyside2,Python,Python 3.x,Qt,Pyqt5,Pyside2,替代方案是什么?如何使用QGuiApplication和QScreen将我的QMainWindow置于屏幕中央。您只需使用QGuiApplication.primaryScreen()(或QGuiApplication.screens()[i]如果您想在i-esima屏幕上居中),如下所示: 从PyQt5导入QtCore、QtGui、qtwidget #或 #从PySide2导入QtCore、QtGui、QtWidgets def中心窗口(小部件): window=widget.window()

替代方案是什么?如何使用QGuiApplication和QScreen将我的QMainWindow置于屏幕中央。

您只需使用
QGuiApplication.primaryScreen()
(或
QGuiApplication.screens()[i]
如果您想在i-esima屏幕上居中),如下所示:

从PyQt5导入QtCore、QtGui、qtwidget
#或
#从PySide2导入QtCore、QtGui、QtWidgets
def中心窗口(小部件):
window=widget.window()
window.setGeometry(
qtwidts.QStyle.alignedRect(
QtCore.Qt.LeftToRight,
QtCore.Qt.AlignCenter,
window.size(),
QtGui.QGuiApplication.primaryScreen().availableGeometry(),
),
)
如果名称=“\uuuuu main\uuuuuuuu”:
导入系统
app=qtwidts.QApplication(sys.argv)
w=QtWidgets.QMainWindow()
w、 调整大小(640480)
w、 show()
QtCore.QTimer.singleShot(0,lambda:center_窗口(w))
sys.exit(app.exec_())

@SomnAthPal是的,您应该在询问之前进行测试。