Tkinter GUI in Python

Tkinter GUI in Python
Mit GUIs können Benutzer mit dem Computer interagieren und ein wichtiger Bestandteil der Codierung sind. In diesem Tutorial lernen Sie, wie Sie mit TKINTER eine GUI erstellen, insbesondere einen Währungswandler.

Installieren Sie TKinter wie folgt:

PIP Installieren Sie TK

Schritt 1: Erstellen des Fensters

Das erste, was wir tun müssen, ist, das Fenster mit der TK () -Klasse zu erstellen. Wir starten jedoch das Fenster und halten es mit der Mainloop () -Methode am Laufen. Bitte beachten Sie, dass das von Ihnen erstellte Fenster ohne die Mainloop () -Methode nicht sichtbar ist! Denken Sie daran, dass die Mainloop () -Methode am Ende des Codes platziert werden muss. Andernfalls funktioniert der Rest nicht. Das Fenster.Mainloop () und das TK () erzeugen zusammen ein leeres und leeres Fenster. Dieses Fenster ist unsere Basis.

Tkinter als TK importieren
# Erstellen Sie das Fenster
Fenster = tk.Tk ()
#Hauptschleife
Fenster.Hauptschleife()

Schritt 2: Schreiben Sie einen Titel an

Geben wir diesem leeren Fenster als nächstes einen Titel mit der Title () -Methode an. Die Methode title () nimmt ein einzelnes Argument an - den Titel des Fensters.

Tkinter als TK importieren
Fenster = tk.Tk ()
# Gib ihm einen Titel
Header = Fenster.Titel ("Währungswandler")
Fenster.Hauptschleife()

Schritt 3: Erstellen Sie eine Leinwand

Das Canvas -Widget wird verwendet, um Designs hinzuzufügen. Wir definieren jetzt das Canvas -Widget, das maximal 13 Argumente einnehmen kann. Die wichtigsten Argumente sind jedoch das Fenster, mit dem wir arbeiten möchten, und die Höhe und Breite der Leinwand. In TKinter sind die meisten Dinge gepackt, sodass die Leinwand mit der Pack () -Methode zum Arbeiten gepackt wird.

Tkinter als TK importieren
Fenster = tk.Tk ()
Header = Fenster.Titel ("Währungswandler")
canvas = tk.Leinwand (Fenster, Breite = 550, Höhe = 330)
Leinwand.Pack()
Fenster.Hauptschleife()

Schritt 4: Etiketten hinzufügen

Etiketten sind im Grunde nur Teile von Texten, die wir zum Fenster hinzufügen. In meinem Fall werde ich 3 Labels hinzufügen - ein Etikett ist der Titel, und die anderen beiden sind Anweisungen. Das Etikett -Widget nimmt hier 2 Argumente vor - das Fenster zum Platzieren des Textes und des Textes zum Schreiben. Sie können es weiter mit config () anpassen, um die Schriftart und die Größe des gerade geschriebenen Textes zu übergeben.

Wir erstellen weiter ein Canvas -Fensterobjekt, indem wir create_window () verwenden. Create_window () nimmt höchstens 6 Argumente ein - den Anker, die Höhe, den Zustand, die Tags, die Breite und das Fenster (das Widget, mit dem die Leinwand erstellt wird). Wir werden nur Anker und Fenster für create_windows () verwenden. Also in meinem Fall für das zweite Label - Label_SEARCH_BAR - ich möchte, dass es bei x = 150, y = 120 positioniert ist, und das Fenster, das ich verwenden werde, ist das Etikett, das wir erstellt haben (Leinwand.create_window (150, 120, window = label_search_bar)).

Tkinter als TK importieren
Fenster = tk.Tk ()
Header = Fenster.Titel ("Währungswandler")
canvas = tk.Leinwand (Fenster, Breite = 550, Höhe = 330)
Leinwand.Pack()
label = tk.Etikett (Fenster, Text = "Kalyanis Währungswandler"))
Etikett.config (font = ('helvetica', 14))
Leinwand.Create_Window (270, 75, Fenster = Etikett)
label_search_bar = tk.Label (Fenster, text = "von (Ex: 500 USD):")
Etikett.config (font = ('helvetica', 14))
Leinwand.create_window (150, 120, window = label_search_bar)
label_convert_currency = tk.Label (Fenster, text = "to (z. B. CAD):")
Etikett.config (font = ('helvetica', 14))
Leinwand.create_window (270, 120, window = label_convert_currency)
Fenster.Hauptschleife()

Schritt 5: Hinzufügen einer Eingangsleiste

Eine Eingangsleiste ist wie eine Suchleiste; Es ist eine kleine Box, in der Sie Daten oder Informationen eingeben können. Wir verwenden das Eintrags -Widget, um die Eingabeleiste zu erstellen. Das Eintrags -Widget dauert höchstens 18 Argumente. Wir werden nur einen von ihnen verwenden - das übergeordnete Fenster. Wir platzieren es dann wie immer mit Leinwand.create_window ().

Tkinter als TK importieren
Fenster = tk.Tk ()
Header = Fenster.Titel ("Währungswandler")
canvas = tk.Leinwand (Fenster, Breite = 550, Höhe = 330)
Leinwand.Pack()
label = tk.Etikett (Fenster, Text = "Kalyanis Währungswandler"))
Etikett.config (font = ('helvetica', 14))
Leinwand.Create_Window (270, 75, Fenster = Etikett)
label_search_bar = tk.Label (Fenster, text = "von (Ex: 500 USD):")
Etikett.config (font = ('helvetica', 14))
Leinwand.create_window (150, 120, window = label_search_bar)
label_convert_currency = tk.Label (Fenster, text = "to (z. B. CAD):")
Etikett.config (font = ('helvetica', 14))
Leinwand.create_window (270, 120, window = label_convert_currency)
Search_bar = tk.Eintrag (Fenster)
Leinwand.Create_Window (150, 150, Höhe = 30, Breite = 100, Fenster = Search_Bar)
convert_currency = tk.Eintrag (Fenster)
Leinwand.create_window (270, 150, Höhe = 30, Breite = 100, Fenster = convert_currency)
Fenster.Hauptschleife()

Schritt 6: Hinzufügen einer Taste

Um eine Schaltfläche zu erstellen, benötigen wir das Schaltflächen -Widget. Dieses Widget nimmt viele Argumente auf, darunter den Text (der Text, der auf der Schaltfläche angezeigt wird), die Breite, die Höhe, die BG (die Hintergrundfarbe der Schaltfläche), die FG (die Vordergrundfarbe der Schaltfläche ), die Schriftart und der Befehl. Hier ist der wichtigste Teil der Befehl! Der Befehl definiert eine Funktion, die beim Klicken der Schaltfläche aktiviert wird. In meinem Fall habe ich meine Funktion CurrencyConverter bezeichnet. Zunächst werde ich meinen Funktionswährungsconverter „Pass“ einfügen. (Suchen Sie natürlich die Schaltfläche mit Create_Window).

Tkinter als TK importieren
Def CurrencyConverter ():
passieren
Fenster = tk.Tk ()
Header = Fenster.Titel ("Währungswandler")
canvas = tk.Leinwand (Fenster, Breite = 550, Höhe = 330)
Leinwand.Pack()
label = tk.Etikett (Fenster, Text = "Kalyanis Währungswandler"))
Etikett.config (font = ('helvetica', 14))
Leinwand.Create_Window (270, 75, Fenster = Etikett)
label_search_bar = tk.Label (Fenster, text = "von (Ex: 500 USD):")
Etikett.config (font = ('helvetica', 14))
Leinwand.create_window (150, 120, window = label_search_bar)
label_convert_currency = tk.Label (Fenster, text = "to (z. B. CAD):")
Etikett.config (font = ('helvetica', 14))
Leinwand.create_window (270, 120, window = label_convert_currency)
Search_bar = tk.Eintrag (Fenster)
Leinwand.Create_Window (150, 150, Höhe = 30, Breite = 100, Fenster = Search_Bar)
convert_currency = tk.Eintrag (Fenster)
Leinwand.create_window (270, 150, Höhe = 30, Breite = 100, Fenster = convert_currency)
Taste = tk.Taste(
Fenster,
text = "Währung konvertieren",
Breite = 25,
Höhe = 3,
bg = "weiß",
fg = "schwarz",
font = ('Helvetica', 9, 'Bold'),
Befehl = CurrencyConverter
)
Leinwand.create_window (275, 200, Höhe = 40, Breite = 150, Fenster = Taste)
Fenster.Hauptschleife()

Schritt 7: Schreiben der Befehlsfunktion

Hier zeigt die Befehlsfunktion dem Programm an, was zu tun ist, wenn der Benutzer auf die Schaltfläche klickt. In meinem Fall möchte es:

  • Holen Sie sich die Eingabewerte mit der Methode GET ().
  • Überprüfen Sie die Eingabewerte. Ich möchte eine Zahl und eine Währung in der ersten Eingangsleiste, und im zweiten möchte ich eine Währung.
  • Konvertieren Sie die Währungswerte mit dem CurrencyConverter -Modul in Python.
  • Den Wert ausschüttern
Tkinter als TK importieren
Def CurrencyConverter ():

Zunächst werden wir das abrufen, was der Benutzer in den Eingabebalken mit der Get () -Methode geschrieben hat, und sie in initial_currency platzieren.

initial_currency = search_bar.erhalten()

Hier erwarten wir zwei Werte (Ex: 500 USD), also teilen wir es dann auf, um es in ein Array zu verwandeln.

Array = initial_currency.Teilt(" ")

Wir sagen dann, wenn die Länge dieses Arrays nicht 2 ist, möchten wir, dass es einen Fehler auf den Fensterbildschirm wirft. In meinem Fall werde ich das Widget Label () verwenden, um den zu angezeigten Text zu erstellen. Das heißt, wenn die Länge meines Arrays nicht 2 ist, schreiben. Legen Sie es mit Leinwand ein.create_windows ().

Wenn Len (Array) != 2:
print_out = label (Fenster, text = "Bitte geben Sie einen Betrag und einen Währungstyp ein (Ex: 500 USD)")
Leinwand.create_window (250, 310, window = print_out)

Wir wollen dann die Eingabe der Werte holen. Der Betrag ist der erste Wert im Array, und der Währungstyp ist der zweite Wert im Array.

Menge = int (Array [0])
Währung = str (Array [1]).Oberer, höher()

Als nächstes benötigen wir den Währungstyp, in den der Betrag umgewandelt wird (Ex: 500 USD zu CAD). Ich habe eine Variable mit dem Namen to_currency definiert, um die Eingabe des Benutzers in der zweiten Eingangsleiste zu erhalten. Noch einmal verwenden wir die Get () -Methode, um den Wert zu holen.

to_currency = convert_currency.erhalten()

Jetzt müssen wir das manipulieren, was wir gerade bekommen haben. Der Benutzer hat einige Dinge eingegeben, und wir möchten nur den ersten Wert des Eingangs, also teilen wir alles auf und wählen den ersten Wert mit [0] aus. (Ich verwende auch alles in Großbuchstaben, um Probleme zu vermeiden.).

array_to_currency = to_currency.Teilt(" ")
to_currency = str (array_to_currency [0])
to_currency = to_currency.Oberer, höher()

Jetzt verwenden wir ein Modul von Python namens Currency Converter (PIP -Installation von CurrencyConverter). Wir konvertieren die Währung und erhalten einen Betrag (hier nenne ich diese variable Menge_Converted).

von Currency_Converter Import CurrencyConverter
C = CurrencyConverter ()
STANCE_CONVERTED = C.konvertieren (Betrag, Währung, TO_CURRENCE)

Als nächstes müssen wir dies im Fenster ausdrucken. Wie wir wissen, drucken wir Text mit dem Etikett -Widget aus. Da die Menge_Converted (die konvertierte Währung) ein Schwimmer ist, sagen wir:

text_to_input = str (saMBOMME_CONVERTED) + "" + to_currency
print_out_answer = label (Fenster, text = text_to_input)
Leinwand.create_window (450, 150, window = print_out_answer)

Der gesamte Code würde so aussehen:

vom Tkinter -Import *
Def CurrencyConverter ():
# Holen Sie sich die Eingabe in der Suchleiste
initial_currency = search_bar.erhalten()
# Teile es auf
Array = initial_currency.Teilt(" ")
Wenn Len (Array) != 2:
print_out = label (Fenster, text = "Bitte geben Sie einen Betrag und einen Währungstyp ein (Ex: 500 USD)")
Leinwand.create_window (250, 310, window = print_out)
# Holen Sie sich den Betrag "aus" und den Dollarbetrag
Menge = int (Array [0])
Währung = str (Array [1]).Oberer, höher()
# Holen Sie sich die Eingabe in die Währung konvertieren auf
to_currency = convert_currency.erhalten()
array_to_currency = to_currency.Teilt(" ")
to_currency = str (array_to_currency [0])
to_currency = to_currency.Oberer, höher()
# Konvertieren Sie es
von Currency_Converter Import CurrencyConverter
C = CurrencyConverter ()
STANCE_CONVERTED = C.konvertieren (Betrag, Währung, TO_CURRENCE)
# Drucken Sie die Antwort aus
text_to_input = str (saMBOMME_CONVERTED) + "" + to_currency
print_out_answer = label (Fenster, text = text_to_input)
Leinwand.create_window (450, 150, window = print_out_answer)
# Erstellen Sie das Fenster
Fenster = tk ()
# Erstellen Sie eine Leinwand und packen Sie es ein
Canvas = Canvas (Fenster, Breite = 550, Höhe = 330, Relief = 'Erhöht')
Leinwand.Pack()
# Gib ihm einen Titel
Header = Fenster.Titel ("Kalyanis Währungswandler")
# Name des Browsers
Label = Label (Fenster, text = "Kalyanis Währungswandler"))
Etikett.config (font = ('helvetica', 14))
Leinwand.Create_Window (270, 75, Fenster = Etikett)
# Erstellen Sie eine Suchleiste
Search_bar = Eintrag (Fenster, Justify = Center)
Leinwand.Create_Window (150, 150, Höhe = 30, Breite = 100, Fenster = Search_Bar)
# Beschriften Sie die Suchleiste
label_search_bar = Label (Fenster, text = "von (ex: 500 USD):")
Etikett.config (font = ('helvetica', 14))
Leinwand.create_window (150, 120, window = label_search_bar)
# Geld umtauschen
convert_currency = Eintrag (Fenster, Justify = Center)
Leinwand.create_window (270, 150, Höhe = 30, Breite = 100, Fenster = convert_currency)
# Beschriften Sie die TO -Währung
Label_Convert_Currency = Label (Fenster, text = "bis (beispisam: cad):")
Etikett.config (font = ('helvetica', 14))
Leinwand.create_window (270, 120, window = label_convert_currency)
#create eine Taste
Taste = Taste (Taste (
Fenster,
text = "Währung konvertieren",
Breite = 25,
Höhe = 3,
bg = "weiß",
fg = "schwarz",
font = ('Helvetica', 9, 'Bold'),
Befehl = CurrencyConverter
)
#Die Schaltfläche platzieren
Leinwand.create_window (275, 200, Höhe = 40, Breite = 150, Fenster = Taste)
#Hauptschleife
Fenster.Hauptschleife()

Obwohl der Code etwas länger als erwartet ist, ist er eigentlich recht einfach. Sie müssen sich nur an ein paar Dinge erinnern:

  • Sie schreiben Texte mit dem Etikett -Widget
  • Sie erstellen Schaltflächen mit dem Schaltflächen -Widget
  • Sie erstellen Eingangsleisten mit dem Eintrags -Widget
  • Sie platzieren sie am richtigen Ort mit dem Canvas -Widget und create_window ()

Glückliche Codierung!