作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
有什么选择?如何使用 QGuiApplication 和 QScreen 将我的 QMainWindow 放在屏幕中央。
最佳答案
你只需要使用QGuiApplication.primaryScreen()
(或者QGuiApplication.screens()[i]
如果你想在i-esima屏幕上居中)作为我在下面显示:
from PyQt5 import QtCore, QtGui, QtWidgets
# or
# from PySide2 import QtCore, QtGui, QtWidgets
def center_window(widget):
window = widget.window()
window.setGeometry(
QtWidgets.QStyle.alignedRect(
QtCore.Qt.LeftToRight,
QtCore.Qt.AlignCenter,
window.size(),
QtGui.QGuiApplication.primaryScreen().availableGeometry(),
),
)
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
w = QtWidgets.QMainWindow()
w.resize(640, 480)
w.show()
QtCore.QTimer.singleShot(0, lambda: center_window(w))
sys.exit(app.exec_())
关于python - DeprecationWarning : QDesktopWidget. availableGeometry(int screen) const 已弃用 centerPoint = QDesktopWidget().availableGeometry().center(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60815433/
我是一名优秀的程序员,十分优秀!