Kapitel 28
Benutzungsoberflächen mit Qt
794
Erläuterung:
#1: Sobald im Textfeld der Text geändert wird, sendet das Widget ein textChanged-Signal.
Dieses wird hier mit der Methode
clearLabel() verknüpft, die den Hinweis auf dem Label
löscht.
#2: Das timeout-Signal wird mit der Methode hint() verknüpft, die einen Hinweis auf das
Label schreibt.
#3: Der Timer wird gestartet. Das Zeitintervall ist 5 Sekunden.
#4: Die Methode wird bei einem timeout-Signal aufgerufen.
#5: Auf das Label wird ein Hinweis geschrieben.
#6: Die Methode wird bei einem textChanged-Signal aufgerufen. Zunächst wird der Hin-
weis auf dem Label gelöscht.
#7: Der Timer wird gestoppt und dann neu gestartet. Er wartet jetzt wieder fünf Sekunden,
bevor er ein
timeout-Signal sendet.
28.18 Das Qt-Layout unter der Lupe
In diesem Abschnitt geht es um Fragen rund um die Anordnung von Widgets im Anwen-
dungsfenster. Wie kann man bei Qt Fenstergrößen, Abstände und Positionen festlegen? Die
meisten Beispiele beziehen sich auf das Browser-Skript in Abschnitt 28.4.
vBox.addWidget(self.message)
self.setLayout(vBox)
# Connections
self.text.textChanged.connect(self.clearLabel) #1
self.timer.timeout.connect(self.hint) #2
self.timer.start(5000) #3
self.show()
def hint(self): #4
self.message.setText("Bitte Text eingeben!") #5
def clearLabel(self):
self.message.setText("") #6
self.timer.stop() #7
self.timer.start(5000)
app = QApplication(sys.argv)
w = Writer()
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.