1.QMainWindow
'''
【简介】
PyQT5将窗口放在屏幕中间例子
'''
from PyQt5.QtWidgets import QDesktopWidget, QApplication, QMainWindow
import sys
class Winform(QMainWindow):
def __init__(self, parent=None):
super(Winform, self).__init__(parent)
self.setWindowTitle('主窗口放在屏幕中间例子')
self.resize(370, 250)
self.center()
def center(self):
screen = QDesktopWidget().screenGeometry()
size = self.geometry()
self.move((screen.width() - size.width()) / 2, (screen.height() - size.height()) / 2)
if __name__ == "__main__":
app = QApplication(sys.argv)
win = Winform()
win.show()
sys.exit(app.exec_())
2.QWidget
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QDesktopWidget
class Example(QWidget):
def __init__(self):
super(Example, self).__init__()
def initUI(self):
self.resize(250,150)
self.setWindowTitle('center')
self.center()
self.show()
def center(self):
screen = QDesktopWidget().screenGeometry()
size = self.geometry()
self.move((screen.width() - size.width()) / 2,
(screen.height() - size.height()) / 2)
if __name__=='__main__':
app = QApplication(sys.argv)
example = Example()
example.initUI()
sys.exit(app.exec())
def center(self):
qr = self.frameGeometry()
cp = QDesktopWidget().availableGeometry().center()
qr.moveCenter(cp)
self.move(qr.topLeft())
参考:pyqt5实现窗口居中显示