PyQt5--ShowWindowCenter

 1 # -*- coding:utf-8 -*-
 2 '''
 3 Created on Sep 13, 2018
 4 
 5 @author: SaShuangYiBing
 6 '''
 7 import sys
 8 from PyQt5.QtWidgets import QApplication,QWidget,QDesktopWidget
 9 
10 class New_test(QWidget):
11     def __init__(self):
12         super().__init__()
13         self.initUI()
14         
15     def initUI(self):
16         self.resize(250,150)
17         self.center() # 将窗口居中放置的代码在自定义的center()方法中。
18         self.setWindowTitle('Center')
19         self.show()
20         
21     def center(self):
22         qr = self.frameGeometry() # 获得主窗口的一个矩形特定几何图形。这包含了窗口的框架。
23         cp = QDesktopWidget().availableGeometry().center() # 算出相对于显示器的绝对值。
24         # 并且从这个绝对值中,我们获得了屏幕中心点。
25         qr.moveCenter(cp) # 矩形已经设置好了它的宽和高。现在我们把矩形的中心设置到屏幕的中间去。
26         # 矩形的大小并不会改变。
27         self.move(qr.topLeft()) # 移动了应用窗口的左上方的点到qr矩形的左上方的点,因此居中显示在我们的屏幕上。
28         
29 if __name__ == "__main__":
30     app = QApplication(sys.argv)
31     ex = New_test()
32     sys.exit(app.exec_())

 

程序执行完成后,程序窗口会显示在电脑屏幕的中央

 

posted @ 2018-09-13 17:31  iSZ  阅读(347)  评论(0编辑  收藏  举报