由于计算机使用的尺寸不同,一台机器上设置的窗口位置固定参数往往会在另一台机器上表现欠佳
下面给出一个移动窗口到屏幕中心的示例
import sys
from PySide import QtGui class Pyside_center(QtGui.QWidget): def __init__(self):
super(Pyside_center, self).__init__() self.initUI() def initUI(self):
# 设置窗口大小
self.resize(250, 150)
# 调用自己写的方法center
self.center()
# 设置标题
self.setWindowTitle('Center')
self.show() def center(self):
# 获得窗口的数据,PySide.QtCore.QRect
qr = self.frameGeometry()
# 获得本机可视窗口的中心点坐标
cp = QtGui.QDesktopWidget().availableGeometry().center()
# 将QRect移动到中心点
qr.moveCenter(cp)
# 用模拟矩形得到的位置,将窗口本身移动到中心点
self.move(qr.topLeft()) def main(): app = QtGui.QApplication(sys.argv)
ex = Pyside_center()
sys.exit(app.exec_()) if __name__ == '__main__':
main()