Python - GUI-Programmierung (Tkinter)
Python bietet verschiedene Optionen für die Entwicklung grafischer Benutzeroberflächen (GUIs). Die wichtigsten sind unten aufgeführt.
Tkinter- Tkinter ist die Python-Schnittstelle zum mit Python gelieferten Tk-GUI-Toolkit. Wir würden diese Option in diesem Kapitel betrachten.
wxPython - Dies ist eine Open-Source-Python-Schnittstelle für wxWindows http://wxpython.org.
JPython - JPython ist ein Python-Port für Java, über den Python-Skripte nahtlos auf Java-Klassenbibliotheken auf dem lokalen Computer zugreifen können http://www.jython.org.
Es gibt viele andere Schnittstellen, die Sie im Internet finden können.
Tkinter-Programmierung
Tkinter ist die Standard-GUI-Bibliothek für Python. In Kombination mit Tkinter bietet Python eine schnelle und einfache Möglichkeit, GUI-Anwendungen zu erstellen. Tkinter bietet eine leistungsstarke objektorientierte Schnittstelle zum Tk-GUI-Toolkit.
Das Erstellen einer GUI-Anwendung mit Tkinter ist eine einfache Aufgabe. Sie müssen lediglich die folgenden Schritte ausführen:
Importieren Sie das Tkinter- Modul.
Erstellen Sie das Hauptfenster der GUI-Anwendung.
Fügen Sie der GUI-Anwendung eines oder mehrere der oben genannten Widgets hinzu.
Geben Sie die Hauptereignisschleife ein, um Maßnahmen gegen jedes vom Benutzer ausgelöste Ereignis zu ergreifen.
Beispiel
#!/usr/bin/python
import Tkinter
top = Tkinter.Tk()
# Code to add widgets will go here...
top.mainloop()
Dies würde ein folgendes Fenster erstellen -
Tkinter Widgets
Tkinter bietet verschiedene Steuerelemente wie Schaltflächen, Beschriftungen und Textfelder, die in einer GUI-Anwendung verwendet werden. Diese Steuerelemente werden üblicherweise als Widgets bezeichnet.
Derzeit gibt es in Tkinter 15 Arten von Widgets. Wir präsentieren diese Widgets sowie eine kurze Beschreibung in der folgenden Tabelle -
Sr.Nr. | Betreiber & Beschreibung |
---|---|
1 | Taste Das Schaltflächen-Widget wird verwendet, um Schaltflächen in Ihrer Anwendung anzuzeigen. |
2 | Segeltuch Das Canvas-Widget wird zum Zeichnen von Formen wie Linien, Ovalen, Polygonen und Rechtecken in Ihrer Anwendung verwendet. |
3 | Checkbutton Das Checkbutton-Widget wird verwendet, um eine Reihe von Optionen als Kontrollkästchen anzuzeigen. Der Benutzer kann mehrere Optionen gleichzeitig auswählen. |
4 | Eintrag Das Eingabe-Widget wird verwendet, um ein einzeiliges Textfeld zum Akzeptieren von Werten von einem Benutzer anzuzeigen. |
5 | Rahmen Das Frame-Widget wird als Container-Widget verwendet, um andere Widgets zu organisieren. |
6 | Etikette Das Label-Widget wird verwendet, um eine einzeilige Beschriftung für andere Widgets bereitzustellen. Es kann auch Bilder enthalten. |
7 | Listbox Das Listbox-Widget wird verwendet, um einem Benutzer eine Liste mit Optionen bereitzustellen. |
8 | Menütaste Das Menubutton-Widget wird verwendet, um Menüs in Ihrer Anwendung anzuzeigen. |
9 | Speisekarte Das Menü-Widget wird verwendet, um einem Benutzer verschiedene Befehle bereitzustellen. Diese Befehle sind in Menubutton enthalten. |
10 | Botschaft Das Nachrichten-Widget wird verwendet, um mehrzeilige Textfelder zum Akzeptieren von Werten von einem Benutzer anzuzeigen. |
11 | Radio knopf Das Radiobutton-Widget wird verwendet, um eine Reihe von Optionen als Optionsfelder anzuzeigen. Der Benutzer kann jeweils nur eine Option auswählen. |
12 | Rahmen Das Skalierungs-Widget wird verwendet, um ein Schieberegler-Widget bereitzustellen. |
13 | Scrollleiste Das Bildlaufleisten-Widget wird verwendet, um verschiedenen Widgets, z. B. Listenfeldern, Bildlauffunktionen hinzuzufügen. |
14 | Text Das Text-Widget wird verwendet, um Text in mehreren Zeilen anzuzeigen. |
15 | Höchststufe Das Toplevel-Widget wird verwendet, um einen separaten Fenstercontainer bereitzustellen. |
16 | Spinbox Das Spinbox-Widget ist eine Variante des Standard-Tkinter-Eintrags-Widgets, mit dem aus einer festen Anzahl von Werten ausgewählt werden kann. |
17 | PanedWindow Ein PanedWindow ist ein Container-Widget, das eine beliebige Anzahl von horizontal oder vertikal angeordneten Fenstern enthalten kann. |
18 | LabelFrame Ein Labelframe ist ein einfaches Container-Widget. Sein Hauptzweck ist es, als Abstandshalter oder Container für komplexe Fensterlayouts zu fungieren. |
19 | tkMessageBox Dieses Modul wird verwendet, um Meldungsfelder in Ihren Anwendungen anzuzeigen. |
Lassen Sie uns diese Widgets im Detail studieren -
Standardattribute
Lassen Sie uns einen Blick darauf werfen, wie einige ihrer gemeinsamen Attribute wie Größen, Farben und Schriftarten angegeben werden.
Dimensions
Colors
Fonts
Anchors
Reliefstile
Bitmaps
Cursors
Lassen Sie uns sie kurz studieren -
Geometriemanagement
Alle Tkinter-Widgets haben Zugriff auf bestimmte Methoden zur Geometrieverwaltung, mit denen Widgets im gesamten übergeordneten Widget-Bereich organisiert werden. Tkinter macht die folgenden Geometrie-Manager-Klassen verfügbar: Packen, Gitter und Ort.
Die pack () -Methode - Dieser Geometriemanager organisiert Widgets in Blöcken, bevor sie im übergeordneten Widget platziert werden.
Die Methode grid () - Dieser Geometriemanager organisiert Widgets in einer tabellenartigen Struktur im übergeordneten Widget.
Die place () -Methode - Dieser Geometrie-Manager organisiert Widgets, indem er sie an einer bestimmten Position im übergeordneten Widget platziert.
Lassen Sie uns die Methoden des Geometriemanagements kurz untersuchen -