win*_*__7 2 python qt python-3.x pyqt5 pyside2
还有什么选择呢?如何使用 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_())
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4514 次 |
| 最近记录: |