799
28.19
Browser für jeden Zweck
Erläuterungen:
#1: Dem Form-Layout wird eine neue Reihe mit zwei Zellen hinzugefügt. In der ersten Zelle
ist ein Label mit einem Text, in der zweiten Zelle ist eine Eingabezeile.
#2: Die Widgets im Form-Layout sollen in der eingestellten Größe bleiben.
#3: Die Label in der ersten Spalte des Formulars sollen rechtsbündig gesetzt werden.
28.19 Browser für jeden Zweck
In Abschnitt 28.4 haben Sie einen einfachen Browser entwickelt. Vielleicht möchten Sie
nun das Grundmodell erweitern, eigene Ideen realisieren und dabei die PyQt5-Klassenbi-
bliothek besser kennenlernen. In diesem Abschnitt erhalten Sie einige Anregungen.
from PyQt5 import QtCore
from PyQt5.QtWidgets import (QApplication, QFormLayout,
QPushButton, QTextEdit, QLineEdit, QWidget)
class AddressBook(QWidget):
def __init__(self):
super().__init__()
# Widgets
self.editName = QLineEdit(self)
self.editEMail = QLineEdit(self)
self.editAddress = QTextEdit(self)
# Layout
form = QFormLayout()
form.addRow("Name:", self.editName) #1
form.addRow("E-Mail:", self.editEMail)
form.addRow("Adresse:", self.editAddress)
self.setLayout(form)
#Policies
form.setFieldGrowthPolicy(
QFormLayout.FieldsStayAtSizeHint) #2
form.setLabelAlignment(QtCore.Qt.AlignRight) #3
app = QApplication(sys.argv)
book = AddressBook()
book.show()
sys.exit(app.exec_())

Get Python 3 - Lernen und professionell anwenden now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.