Heim  >  Artikel  >  Backend-Entwicklung  >  PyQt5 muss jeden Tag lernen, einen Fensterzentrierungseffekt zu erzeugen

PyQt5 muss jeden Tag lernen, einen Fensterzentrierungseffekt zu erzeugen

不言
不言Original
2018-05-22 10:47:183451Durchsuche

In diesem Artikel wird hauptsächlich die Erstellung des Fensterzentrierungseffekts vorgestellt, der jeden Tag in PyQt5 erlernt werden muss, damit das Anwendungsfenster in der Mitte des Bildschirms angezeigt wird. Interessierte Freunde können sich darauf beziehen >

Das Beispiel in diesem Artikel teilt Ihnen den spezifischen Code mit, wie PyQt5 als Referenz ein Fenster mit der Mitte des Desktop-Bildschirms erstellen kann. Der spezifische Inhalt ist wie folgt

Das folgende Skript erklärt, wie wir das können Erstellen Sie ein Fenster in der Mitte des Desktop-Bildschirms.

#!/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_())
Die Klasse QtGui.QDesktopWidget stellt Informationen über den Desktop des Benutzers bereit, einschließlich der Bildschirmgröße.

self.center()
Platzieren Sie den Code zum Zentrieren des Fensters in einer benutzerdefinierten center()-Methode.

qr = self.frameGeometry()
Mit der Methode „frameGeometry()“ können wir ein unsichtbares Rechteck erstellen und dessen Breite und Höhe entsprechend der Breite und Höhe des Hauptfensters festlegen. Das einfache Verständnis besteht darin, den geometrischen Inhalt (Breite, Höhe, Position usw.) dieses Steuerelements (QWidget) qr

cp = QDesktopWidget().availableGeometry().center()
zuzuweisen, um die Bildschirmauflösung Ihres Monitors zu berechnen. Basierend auf der erhaltenen Auflösung erhalten wir den Mittelpunkt des Bildschirms.

qr.moveCenter(cp)
Unser Rechteck (qr) hat bereits eine Breite und Höhe. Setzen Sie nun die Mitte des Verschiebungsrechtecks ​​(moveCenter) auf den Mittelpunkt (cp) des Bildschirms. Die Größe des Rechtecks ​​bleibt erhalten unverändert.

self.move(qr.topLeft())
Verschiebt die obere linke Ecke des Anwendungsfensters in die obere linke Ecke des

qr-Rechtecks, sodass das Anwendungsfenster in der Mitte des Bildschirms erscheint.

Nachdem das Programm ausgeführt wurde

Verwandte Empfehlungen:


PyQt5 muss jeden Tag lernen, das Fenster zu schließen

PyQt5 muss jeden Tag das Popup-Meldungsfeld lernen

PyQt5 erkennt den Download-Fortschrittsbalkeneffekt


Das obige ist der detaillierte Inhalt vonPyQt5 muss jeden Tag lernen, einen Fensterzentrierungseffekt zu erzeugen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn