如何将QWidget放在不依赖屏幕尺寸的中间?

问题描述 投票:0回答:1

如何将具有内容的窗口小部件准确地放置在窗口的中间而不取决于其大小。

位置和显示程序的命令无法感知。在py中从ui转换代码之前可以吗?

python pyside2
1个回答
0
投票

由于没有针对python的答案,我已经发布了此答案,该答案是the official example of Qt的翻译。

import sys

from PySide2 import QtCore, QtWidgets


if __name__ == "__main__":
    app = QtWidgets.QApplication(sys.argv)

    w = QtWidgets.QWidget()
    w.resize(640, 480)

    w.setGeometry(
        QtWidgets.QStyle.alignedRect(
            QtCore.Qt.LeftToRight,
            QtCore.Qt.AlignCenter,
            w.size(),
            QtWidgets.QApplication.instance().primaryScreen().availableGeometry()
            # or
            # QtWidgets.QApplication.instance().desktop().availableGeometry(),
        )
    )
    w.show()

    sys.exit(app.exec_())
© www.soinside.com 2019 - 2024. All rights reserved.