由于计算机使用的尺寸不同,一台机器上设置的窗口位置固定参数往往会在另一台机器上表现欠佳
下面给出一个移动窗口到屏幕中心的示例
1 import sys 2 from PySide import QtGui 3 4 5 class Pyside_center(QtGui.QWidget): 6 7 def __init__(self): 8 super(Pyside_center, self).__init__() 9 10 self.initUI()11 12 def initUI(self):13 # 设置窗口大小14 self.resize(250, 150)15 # 调用自己写的方法center16 self.center()17 # 设置标题18 self.setWindowTitle('Center')19 self.show()20 21 def center(self):22 # 获得窗口的数据,PySide.QtCore.QRect23 qr = self.frameGeometry()24 # 获得本机可视窗口的中心点坐标25 cp = QtGui.QDesktopWidget().availableGeometry().center()26 # 将QRect移动到中心点27 qr.moveCenter(cp)28 # 用模拟矩形得到的位置,将窗口本身移动到中心点29 self.move(qr.topLeft())30 31 32 33 def main():34 35 app = QtGui.QApplication(sys.argv)36 ex = Pyside_center()37 sys.exit(app.exec_())38 39 40 if __name__ == '__main__':41 main()