Ich befasse mich erst seit kurzem mit PYTHON, meine anderen Projekte habe ich bisher mit DELPHI realisiert. Nun möchte ich ein Projekt von WINWOWS auf einen RASPBERRY umsetzen und PYTHON verwenden. Ich habe einige Bücher erworben und auch schon im Internet recherchiert, aber habe keine Antwort auf meine Frage erhalten.
Ich möchte den Text auf einem PUSHBUTTON ermitteln und abhängig davon einen anderen Text ausgeben.
Kann mir jemand helfen?
Wie kann man den Text auf einem PUSHBUTTON abfragen
Es ist meist keine gute Idee, Informationen im Text eines Buttons zu speichern. Dazu verwendet man ganz einfach Instanzattribute.
Um Dir helfen zu können, bräuchten wir schon etwas mehr Informationen. Welches Framework? Etc.
Um Dir helfen zu können, bräuchten wir schon etwas mehr Informationen. Welches Framework? Etc.
Code: Alles auswählen
import tkinter as tk
class Window(tk.Tk):
def __init__(self):
super().__init__()
self.counter = 0
self.button = tk.Button(text=f"Count {self.counter}", command=self.increase)
self.button.pack()
def increase(self):
self.counter += 1
self.button["text"] = f"Count {self.counter}"
def main():
window = Window()
window.mainloop()
if __name__ == "__main__":
main()
Hallo, danke für Deine schnelle Antwort.
Ich habe eine "Hilfsvariable" angelegt, die die Beschriftung speichert.
Mit Delphi brauchte ich keine "Hilfsvariable", der Zustand des Button ist ja auch schon in einer Art Variable gespeichert.
Alles klar. Danke noch enmal
Detlef
Ich habe eine "Hilfsvariable" angelegt, die die Beschriftung speichert.
Mit Delphi brauchte ich keine "Hilfsvariable", der Zustand des Button ist ja auch schon in einer Art Variable gespeichert.
Alles klar. Danke noch enmal
Detlef
- __blackjack__
- User
- Beiträge: 13100
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@d.elm: Du brauchst auch in Python keine ”Hilfsvariable”. Andererseits ”brauchst” Du die auch in Delphi. Denn auch dort ist es keine gute Idee den Zustand der Programmlogik in der GUI zu speichern. Ist dort leider nicht unüblich GUI und Programmlogik nicht sauber zu trennen. Das ist ja keine ”Hilfs”variable, sondern die ganz normale Variable, die den Zustand unabhängig von der GUI im Programm repräsentiert. Und recht wahrscheinlich sollte das auch gar kein Text sein, sondern ein Wahrheitswert oder ein Aufzählungstyp (in Python mit dem `enum`-Modul).
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
Man kann das auch in tkinter machen, der Zugriff funktioniert genauso wie die Zuweisung. button[text]. Man macht es nur nicht. Auch nicht in Delphi. Sauber programmieren in GUIs bedeutet die Nutzung von sowas wie einem MVC Muster, und das trennt Daten, die man verarbeitet, von der Darstellung. Sowas geht auch spätestens dann in die Hose, wenn das Elaborat übersetzt werden soll. Dann muss der Code plötzlich zurück übersetzen.
Nur als Anmerkung: soweit ich weiß steht mit Lazarus Pascal auch eine Delphi-artige Umgebung auf dem Pi zur Verfügung. Falls du in einer gewohnteren Umgebung arbeiten willst.
Nur als Anmerkung: soweit ich weiß steht mit Lazarus Pascal auch eine Delphi-artige Umgebung auf dem Pi zur Verfügung. Falls du in einer gewohnteren Umgebung arbeiten willst.