Maison  >  Article  >  développement back-end  >  PyQt5 doit apprendre chaque jour pour créer un effet de centrage de fenêtre

PyQt5 doit apprendre chaque jour pour créer un effet de centrage de fenêtre

不言
不言original
2018-05-22 10:47:183435parcourir

Cet article présente principalement la création d'un effet de centrage de fenêtre qui doit être appris chaque jour dans PyQt5, afin que la fenêtre de l'application soit affichée au centre de l'écran. Elle a une certaine valeur de référence.

L'exemple de cet article partage avec vous le code spécifique de la façon dont PyQt5 peut créer une fenêtre centrée sur l'écran du bureau pour votre référence. Le contenu spécifique est le suivant

Le script suivant explique comment nous pouvons. créez une fenêtre centrée sur l'écran du bureau.

#!/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_())
La classe QtGui.QDesktopWidget fournit des informations sur le bureau de l'utilisateur, y compris la taille de l'écran.

self.center()
Placez le code de centrage de la fenêtre dans une méthode center() personnalisée.

qr = self.frameGeometry()
La méthode frameGeometry() nous permet de créer un rectangle invisible et de définir sa propre largeur et hauteur en fonction de la largeur et de la hauteur de la fenêtre principale. La compréhension simple consiste à attribuer le contenu géométrique (largeur, hauteur, position, etc.) de ce contrôle (QWidget) à qr

cp = QDesktopWidget().availableGeometry().center()
pour calculer la résolution d'écran de votre moniteur. Sur la base de la résolution obtenue, nous obtenons le point central de l'écran.

qr.moveCenter(cp)
Notre rectangle (qr) a déjà une largeur et une hauteur. Fixez maintenant le centre du rectangle de déplacement (moveCenter) au point central (cp) de l'écran. inchangé.

self.move(qr.topLeft())
Déplace le coin supérieur gauche de la fenêtre de l'application vers le coin supérieur gauche du rectangle

qr afin que la fenêtre de l'application apparaisse au centre de l'écran.

Après l'exécution du programme

Recommandations associées :


PyQt5 doit apprendre à fermer la fenêtre tous les jours

PyQt5 doit apprendre la boîte de message contextuelle tous les jours

PyQt5 réalise l'effet de barre de progression du téléchargement


Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn