Home >Backend Development >Python Tutorial >PyQt5 must learn every day to create a window centering effect

PyQt5 must learn every day to create a window centering effect

不言
不言Original
2018-05-22 10:47:183499browse

This article mainly introduces the creation of window centering effect that must be learned every day in PyQt5, so that the application window is displayed in the center of the screen. It has certain reference value. Interested friends can refer to it

The example in this article shares with you the specific code of how PyQt5 can create a window centered on the desktop screen for your reference. The specific content is as follows

The following script explains how we can create a window centered on the desktop screen.

#!/usr/bin/python3
# -*- coding: utf-8 -*-

"""
PyQt5 教程

这个程序是将一个窗口显示在屏幕的中心。

作者:我的世界你曾经来过
博客:http://blog.csdn.net/weiaitaowang
最后编辑:2016年7月30日
"""
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QDesktopWidget

class Example(QWidget):

 def __init__(self):
  super().__init__()

  self.initUI()

 def initUI(self):

  self.setGeometry(300, 300, 300, 220)

  self.center()

  self.setWindowTitle('窗口居中')  
  self.show()

 def center(self):

  qr = self.frameGeometry()
  cp = QDesktopWidget().availableGeometry().center()
  qr.moveCenter(cp)
  self.move(qr.topLeft())

if __name__ == '__main__':

 app = QApplication(sys.argv)
 ex = Example()
 sys.exit(app.exec_())

The QtGui.QDesktopWidget class provides information about the user's desktop, including screen size.

self.center()

Place the code for centering the window in the custom center() method.

qr = self.frameGeometry()

The frameGeometry() method allows us to create an invisible rectangle and set its own width and height according to the width and height of the main window. The simple understanding is to assign the geometric content (width, height, position, etc.) of this control (QWidget) to qr

cp = QDesktopWidget().availableGeometry().center()

to calculate the screen resolution of your monitor. Based on the obtained resolution we get the center point of the screen.

qr.moveCenter(cp)

Our rectangle (qr) already has a width and height. Now set the center of the mobile rectangle (moveCenter) to the center point (cp) of the screen. The size of the rectangle will remain unchanged.

self.move(qr.topLeft())

Move the upper left corner of the application window to the upper left corner of the qr rectangle so that the application window appears in the center of the screen.

After the program is executed

Related recommendations:

PyQt5 must learn to close the window every day

PyQt5 must learn the pop-up message box every day

PyQt5 realizes the download progress bar effect


The above is the detailed content of PyQt5 must learn every day to create a window centering effect. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn