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 -