Tkinter-Fortschrittsbalken

Tkinter Fortschrittsbalken



Sie können den Client mit einem Fortschrittsbalken-Widget über den Status eines langwierigen Prozesses informieren. Das Ziel des Widgets ist es, dem Benutzer die Gewissheit zu geben, dass etwas passiert. Es hat zwei verschiedene Betriebsmodi. Im Bestimmungsmodus zeigt das Widget eine Anzeige an, die sich in eine vorbestimmte Richtung bewegt. Das Widget wird in einen unbestimmten Zustand versetzt, um dem Client einen Eindruck zu vermitteln, dass etwas passiert. Das Signal oszilliert während dieses Stils zwischen den Enden des Widgets hin und her. Die Verwendung von bestimmten und unbestimmten Fortschrittsbalken in Python wird in diesem Tutorial behandelt.

Beginnen wir mit der Konfiguration einer Tkinter-Bibliothek von Python. Versuchen Sie nach dem erfolgreichen Start des Terminals die folgende Abfrage, um das Tkinter-Paket zu konfigurieren. Stellen Sie sicher, dass Python bereits installiert ist, bevor Sie diese Anleitung verwenden.

$ sudo apt installiere python3-tk







Beispiel 1

Beginnen wir mit unserem ersten Python-Beispiel, bei dem das Tkinter-Modul verwendet wird, um einen bestimmten Fortschrittsbalken in seiner GUI zu erstellen. Daher haben wir eine neue Python-Datei mit dem Namen „new.py“ erstellt und den folgenden Code hinzugefügt. Wir haben diesen Code gestartet, indem wir alle untergeordneten Objekte aus der Tkinter-Bibliothek von Python in der ersten Zeile importiert haben. Danach haben wir in der zweiten Codezeile das Klassenobjekt „ttk“ aus dem Tkinter-Modul importiert.



Der Klassenkonstruktor Tk() wurde aufgerufen und sein Objekt in der Variablen „t“ gespeichert. Die Funktion „Titel“ wurde mit der Objektvariablen „t“ erreicht, um einen Titel für die GUI zu erstellen. Die Größe eines GUI-Tkinter-Fensters wurde über die Funktion geometry() auf „300×200“ gesetzt. Der Fortschrittsbalken würde von einer benutzerdefinierten Funktion „Pbar()“ generiert werden. Wir werden uns diese Funktion im letzten Teil dieses Artikels ansehen.



Wir haben eine Variable „p“ bei der 8 erstellt th Zeile dieses Python-Codes, der die Progressbar()-Funktion über das „ttk“-Klassenobjekt verwendet hat, um einen Fortschrittsbalken auf dem GUI-Bildschirm zu erstellen. Das Objekt „t“ wurde ihm übergeben, während seine Ausrichtung auf Horizontal, seine Länge auf 400 und sein Modus festgelegt wurde, d. h. es bewegt sich nur in eine bestimmte Richtung. Die Auffüllung der „y“-Achse wurde durch die Verwendung der „pack()“-Funktion für diesen Fortschrittsbalken auf 30 gesetzt.





Danach haben wir eine neue Schaltfläche „b“ mithilfe der Funktion Button() erstellt und ihr das Objekt „t“, etwas Text und den Befehl übergeben, der nach dem Klicken auf die Schaltfläche ausgeführt werden soll, d. h. die aufgerufene Funktion die „Pbar“-Funktion. Die Funktion Pbar() würde den Wert des Fortschrittsbalkens „p“ um zehn erhöhen und zur Variablen „b“ zurückkehren. Die Polsterung der „y“-Achse für die Schaltfläche wurde mithilfe der Funktion pack() auf „10“ gesetzt, und die Funktion mainloop() ist hier, um die gesamte Ausführung in einer Schleife auszuführen.



Nachdem wir einen Python-Code fertiggestellt haben, haben wir ihn gespeichert und auf der Konsole über die Abfrage „python3“ gefolgt vom Namen einer Datei „new.py“ ausgeführt:

$ python3 neu.py

Es hat die Tkinter-GUI von Python mit dem Titel „Progress Bar“ auf unserem Konsolenbildschirm gestartet. Im folgenden Bild gibt es nur einen Fortschrittsbalken ohne Verarbeitung. Sie müssen zuerst auf die Schaltfläche tippen.

Nach dem Tippen auf die Schaltfläche „Hier tippen!“ wurde der blaue Fortschrittsbalken wie folgt angezeigt:

Nach drei aufeinanderfolgenden Klicks erhielten wir den folgenden Fortschritt ohne Bewegung:

Nach Erreichen des Endes des Fortschrittsbalkens können wir uns nicht weiter bewegen, d.h. den Fortschrittsbalken bestimmen.

Beispiel 2

Schauen wir uns die Erstellung eines unbestimmten Fortschrittsbalkens an, der sich innerhalb des Fortschrittsbereichs mit dem Tkinter-GUI-Python-Modul vor- und zurückbewegen kann. Also haben wir diesen Python-Code gestartet, indem wir das Tkinter-Modul als „tk“ und das ttk-Objekt aus der „ttk“-Klasse importiert haben. Das tk-Objekt wurde verworfen, um das Ergebnis des Konstruktors „Tk()“ zu erhalten, und in der Variablen „t“ gespeichert.



Die Variable „t“ wurde mit der Funktion title() verwendet, um neben der Funktion geometry() einen Titel für die GUI hinzuzufügen, um die Größe eines anzuzeigenden GUI-Fensters zu bestimmen. Die grid()-Funktion wurde mit der „t“-Variablen aufgerufen, um die GUI in einem tabellarischen Format zu organisieren.

Danach haben wir die Variable „p“ verwendet, um einen Fortschrittsbalken über die Funktion Progressbar() des ttk-Klassenobjekts mit der gleichen „t“-Variablen, horizontaler Ausrichtung, 300 Längen und dem unbestimmten Modus zu erstellen. Der Fortschrittsbalken wurde tabellarisch über die Funktion „grid()“ organisiert, die die spezifische Auffüllung für die „x“- und „y“-Achse verwendet hat. Wir haben zwei Schaltflächen „s“ und „e“ erstellt, um die Bewegung des Fortschrittsbalkens zu starten, zu beenden und ihn vor und zurück zu bewegen.







Der Sticky-Parameter der grid()-Funktion für beide Schaltflächen definiert die Richtung, d. h. Ost und West. Die Befehle „Start“ und „Stopp“ wurden für beide Tasten auf der 9 eingestellt th und 11 th Linie. Mit der Ausführung der Funktion mainloop() ist unser Programm fertig und nach dem Speichern einsatzbereit.





Die Hinrichtung erfolgte auf ähnliche Weise.





$ python3 neu.py

Beim Start der GUI wurde der folgende Bildschirm angezeigt:



Nach dem Drücken der Schaltfläche „Tap to Start“ begann sich der Fortschrittsbalken vorwärts zu bewegen.

Nach Erreichen des Endes bewegt es sich in die entgegengesetzte Richtung, also nach Westen.

Sobald Sie auf die Schaltfläche „Zum Stoppen tippen“ getippt haben, wurde der Fortschrittsbalken wieder auf die Ausgangsposition gesetzt.

Fazit

Dieser Artikel zeigte die Verwendung des Fortschrittsbalkens in der Tkinter-GUI. Wir haben einfach die Objekte der Tkinter-Klasse verwendet, um verschiedene Widgets aufzurufen, um die Python-GUI interaktiver zu machen. Wir haben die Verwendung bestimmter und unbestimmter Fortschrittsbalken in unseren Beispielen erörtert. Wir wünschen Ihnen viel Spaß bei der Umsetzung.