[GUI in Python] PyQt5-Layout-Management-

Letztes Mal wurde fortgesetzt

Layout management Ich werde diese Seite grob auf Japanisch zusammenfassen.

[Absolute Position]

Absolute_positioning.py


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

import sys
from PyQt5.QtWidgets import QWidget, QLabel, QApplication


class Example(QWidget):
    
    def __init__(self):
        super().__init__()
        
        self.initUI()
        
        
    def initUI(self):
        
        #Einstellung des Beschriftungsnamens
        lbl1 = QLabel('Zetcode', self)
        #Beschriftung x=15,y=Gehen Sie zu 10
        lbl1.move(15, 10)

        lbl2 = QLabel('tutorials', self)
        lbl2.move(35, 40)
        
        lbl3 = QLabel('for programmers', self)
        lbl3.move(55, 70)        
        
        self.setGeometry(300, 300, 250, 150)
        self.setWindowTitle('Absolute')    
        self.show()
        
        
if __name__ == '__main__':
    
    app = QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())
absolute.png

[Box Layout]

Box_layout.py


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


import sys
from PyQt5.QtWidgets import (QWidget, QPushButton, 
    QHBoxLayout, QVBoxLayout, QApplication)


class Example(QWidget):
    
    def __init__(self):
        super().__init__()
        
        self.initUI()
        
        
    def initUI(self):
        
        #Erstellen Sie die Schaltflächen OK und Abbrechen
        okButton = QPushButton("OK")
        cancelButton = QPushButton("Cancel")
        
        #Erstellen Sie ein horizontales Feld
        hbox = QHBoxLayout()
        #Behalten Sie die Größe der Schaltfläche unverändert bei
        #Die Schaltfläche bewegt sich nach rechts, da auf der linken Seite der Schaltfläche ein Bereich vorhanden ist, der horizontal erweitert und verkleinert werden kann.
        hbox.addStretch(1)
        hbox.addWidget(okButton)
        hbox.addWidget(cancelButton)
        
        #Erstellen Sie eine vertikale Box
        vbox = QVBoxLayout()
        #Erstellen Sie einen Raum, der vertikal erweitert und verkleinert werden kann
        vbox.addStretch(1)
        #Die Taste bewegt sich nach rechts unten
        vbox.addLayout(hbox)
        
        #Fügen Sie dem Bildschirm das oben festgelegte Layout hinzu
        self.setLayout(vbox)    
        
        self.setGeometry(300, 300, 300, 150)
        self.setWindowTitle('Buttons')    
        self.show()
        
        
if __name__ == '__main__':
    
    app = QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())
box_layout.png

[Tastenanordnung in einem Gittermuster]

QGridLayout.py


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


import sys
from PyQt5.QtWidgets import (QWidget, QGridLayout, 
    QPushButton, QApplication)


class Example(QWidget):
    
    def __init__(self):
        super().__init__()
        
        self.initUI()
        
        
    def initUI(self):
        
        #Objekte für Anwendungsbildschirme erstellen
        grid = QGridLayout()
        self.setLayout(grid)
        
        #Tastenbeschriftung
        names = ['Cls', 'Bck', '', 'Close',
                 '7', '8', '9', '/',
                '4', '5', '6', '*',
                 '1', '2', '3', '-',
                '0', '.', '=', '+']
        
        #Einstellung der Tastenposition
        positions = [(i,j) for i in range(5) for j in range(4)]
        
        #Schaltfläche zum Bildschirm hinzufügen
        for position, name in zip(positions, names):
            
            #Elemente ohne Schaltflächenbeschriftung überspringen
            if name == '':
                continue
            #Tastenbeschriftung einstellen
            button = QPushButton(name)
            # *Platzieren Sie den Knopf an der Position der Position
            grid.addWidget(button, *position)
            
        self.move(300, 150)
        self.setWindowTitle('Calculator')
        self.show()
        
        
if __name__ == '__main__':
    
    app = QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())
qgrid.png

[Textfeldlayout]

Review_example


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


import sys
from PyQt5.QtWidgets import (QWidget, QLabel, QLineEdit, 
    QTextEdit, QGridLayout, QApplication)


class Example(QWidget):
    
    def __init__(self):
        super().__init__()
        
        self.initUI()
        
        
    def initUI(self):
        
        title = QLabel('Title')
        author = QLabel('Author')
        review = QLabel('Review')

        titleEdit = QLineEdit()
        authorEdit = QLineEdit()
        reviewEdit = QTextEdit()
        
        #Erstellen Sie eine gitterartige Anordnung, um Speicherplatz für jedes Widget freizugeben
        grid = QGridLayout()
        grid.setSpacing(10)
        
        #Etikettenpositionierung
        grid.addWidget(title, 1, 0)
        #Positionseinstellung des Eingabefeldes
        grid.addWidget(titleEdit, 1, 1)

        grid.addWidget(author, 2, 0)
        grid.addWidget(authorEdit, 2, 1)

        grid.addWidget(review, 3, 0)
        grid.addWidget(reviewEdit, 3, 1, 5, 1)
        
        self.setLayout(grid) 
        
        self.setGeometry(300, 300, 350, 300)
        self.setWindowTitle('Review')    
        self.show()
        
        
if __name__ == '__main__':
    
    app = QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())
review.png

Nächstes Mal gibt Ihnen eine ungefähre Vorstellung von Ereignissen und Signalen.

Recommended Posts

[GUI in Python] PyQt5-Layout-Management-
YouTube-Videoverwaltung mit Python 3
Passwortverwaltung per Python: Schlüsselbund
[GUI mit Python] PyQt5-Vorbereitung-
[GUI mit Python] PyQt5 -Paint-
[GUI mit Python] PyQt5 -Widget II-
[GUI mit Python] PyQt5-Der erste Schritt-
[GUI in Python] PyQt5-Drag & Drop-
[GUI mit Python] PyQt5 -Custom Widget-
FizzBuzz in Python3
Scraping mit Python
Statistik mit Python
Scraping mit Python
Python mit Go
Python-Installation und Paketverwaltung mit pip
Twilio mit Python
Spielen Sie mit 2016-Python
Getestet mit Python
mit Syntax (Python)
Bingo mit Python
Zundokokiyoshi mit Python
Excel-Tabellenerstellung mit Python [Fortschrittsverwaltungstabelle]
Fröhliche GUI-Konstruktion mit Elektron und Python
Excel mit Python
Mikrocomputer mit Python
Mit Python besetzen
Ich habe eine GUI-App mit Python + PyQt5 erstellt
GUI-Bildschneidewerkzeug mit Python + Tkinter
GUI-Automatisierung mit Python x Windows App Driver
Einfache Erstellung von Verkaufstools mit Python-GUI: Schätzung erstellen
Dateidialog mit Python-GUI öffnen (tkinter.filedialog)
Serielle Kommunikation mit Python
Zip, entpacken mit Python
Django 1.11 wurde mit Python3.6 gestartet
Primzahlbeurteilung mit Python
Python mit Eclipse + PyDev.
Socket-Kommunikation mit Python
Datenanalyse mit Python 2
Scraping in Python (Vorbereitung)
Versuchen Sie es mit Python.
Python lernen mit ChemTHEATER 03
Sequentielle Suche mit Python
"Objektorientiert" mit Python gelernt
Führen Sie Python mit VBA aus
Umgang mit Yaml mit Python
Löse AtCoder 167 mit Python
Serielle Kommunikation mit Python
[Python] Verwenden Sie JSON mit Python
Python lernen mit ChemTHEATER 05-1
Lerne Python mit ChemTHEATER
1.1 Erste Schritte mit Python
Binarisierung mit OpenCV / Python
3. 3. KI-Programmierung mit Python
Kernel-Methode mit Python
Nicht blockierend mit Python + uWSGI
Scraping mit Python + PhantomJS
Tweets mit Python posten
Fahren Sie WebDriver mit Python
Verwenden Sie Mecab mit Python 3
Sprachanalyse mit Python
Denken Sie an Yaml mit Python