Ich habe immer mehr Pythons Tkinter verwendet, aber ich hatte nicht viele Websites mit den gewünschten Informationen (mein Favorit), daher fasse ich sie zusammen.
Als ich eine Lernsitzung über Tkinter hatte, kamen außerdem Materialien heraus, die mit dem Python 3-System erstellt wurden Wenn Sie interessiert sind, bitte. https://nnahito.gitbooks.io/tkinter/content/
Ich bin eine prozedurale Person. Ich benutze überhaupt keine Objektorientierung. Meine Lieblingssprachen sind BASIC und Perl, die vom Aussterben bedroht sind. Objektorientiert ist also das Beste Großartig! !! Bitte beachten Sie, dass ich denke, dass der Schreibstil denen, die angeblich sind, unbekannt oder unbekannt ist.
Es ist ein ** Toolkit, mit dem Sie ** GUI in Python erstellen können. Auf diese Weise können Sie Python-Skripte im GUI-Format ausführen.
#!/usr/bin/env python
# -*- coding: utf8 -*-
import sys
import Tkinter
root = Tkinter.Tk()
root.mainloop()
Es gibt unzählige grundlegende Grammatiken für Python. Finden Sie also Ihre bevorzugte Kommentarseite. Hier werde ich den Teil aufgreifen, auf den ich in Tkinter gestoßen bin.
Erstens ist das Grundformat wie folgt.
#!/usr/bin/env python
# -*- coding: utf8 -*-
import sys
import Tkinter
root = Tkinter.Tk()
root.title(u"Software Title")
root.geometry("400x300")
root.mainloop()
Dadurch wird ein 400px * 300px-Fenster geöffnet.
root.title (u" Fenstername ")
Dies bestimmt die Notation der Fenstertitelleiste
root.geometry (" horizontal x vertikal ")
Dies bestimmt die Fenstergröße.
Schreiben Sie den numerischen Wert in das untere X (x), z. B. horizontale Länge x vertikale Länge.
Beachten Sie, dass die Verarbeitung von Software-Ausführungsinhalten erfolgt
root = Tkinter.Tk()
Wann
root.mainloop()
Es wird dazwischen beschrieben.
Details finden Sie auf dieser Seite, aber es ist detailliert zusammengefasst.
Ich brauchte nur
Verwenden Sie die folgenden Etiketten.
Label (text = u'label name ')
Wenn Sie den Teil "Etikettenname" ändern, ändert sich der Inhalt des Etiketts.
Unten ist ein Beispiel.
#!/usr/bin/env python
# -*- coding: utf8 -*-
import sys
import Tkinter
root = Tkinter.Tk()
root.title(u"Software Title")
root.geometry("400x300")
#Etikette
Static1 = Tkinter.Label(text=u'test')
Static1.pack()
root.mainloop()
Static1 = Tkinter.Label(text=u'test')
Static1
von ist das Handle des Etiketts. (Das heißt, ich habe ein Handle in die Variable gesetzt)
Verwenden Sie außerdem "Static1.pack ()", um das Handle im Fenster-Widget zu speichern.
Wenn Sie es zerlegen, wird es automatisch ausgerichtet und im Fenster platziert.
Wenn Sie es irgendwo platzieren möchten,
Static1.place (x = x Koordinaten, y = y Koordinaten)
Verwenden Sie "Ort (x = x-Koordinate, y = y-Koordinate)" wie in.
Für Widgets wie Beschriftungen gibt es außerdem einige allgemeine Optionen. Es wird in einem Tabellenformat oben in der Mitte der vorherigen Seite zusammengefasst (Easy Python / Tkinter). Beispielsweise ist es möglich, die Hintergrundfarbe und die Textfarbe des Etiketts zu ändern.
#!/usr/bin/env python
# -*- coding: utf8 -*-
import sys
import Tkinter
root = Tkinter.Tk()
root.title(u"Software Title")
root.geometry("400x300")
#Etikette
Static1 = Tkinter.Label(text=u'test', foreground='#ff0000', background='#ffaacc')
Static1.pack()
root.mainloop()
Optionen sind
Static1 = Tkinter.Label(text=u'test', foreground='#ff0000', background='#ffaacc')
Es ist möglich, wie folgt hinzuzufügen.
Wenn Sie beispielsweise place verwenden, sieht es außerdem so aus.
#!/usr/bin/env python
# -*- coding: utf8 -*-
import sys
import Tkinter
root = Tkinter.Tk()
root.title(u"Software Title")
root.geometry("400x300")
#Etikette
Static1 = Tkinter.Label(text=u'test', foreground='#ff0000', background='#ffaacc')
Static1.place(x=150, y=228)
root.mainloop()
Sie können sehen, dass sich das Etikett an eine beliebige Position bewegt hat. Ich werde es so benutzen.
Erstellen Sie ein einzeiliges Eingabefeld "Eintrag", das keine Zeilenumbrüche zulässt. Schreiben Sie den Code als "EditBox = Tkinter.Entry ()".
#!/usr/bin/env python
# -*- coding: utf8 -*-
import sys
import Tkinter
root = Tkinter.Tk()
root.title(u"Software Title")
root.geometry("400x300")
#Eintrag
EditBox = Tkinter.Entry()
EditBox.pack()
root.mainloop()
Zeichen von Anfang an mit Eingabe eingeben
Verwenden Sie insert (Tkinter.END," string to add ")
.
Dies fügt eine "zusätzliche Zeichenfolge" in die letzte Zeile ein.
Sie können an jeder Stelle eine Zeichenfolge einfügen, aber ich werde die Erklärung hier weglassen.
Einzelheiten finden Sie auf dieser Website
#!/usr/bin/env python
# -*- coding: utf8 -*-
import sys
import Tkinter
root = Tkinter.Tk()
root.title(u"Software Title")
root.geometry("400x300")
#Eintrag
EditBox = Tkinter.Entry()
EditBox.insert(Tkinter.END,"Zeichenfolge zum Einfügen")
EditBox.pack()
root.mainloop()
Sie können auch die Größe des Eintrags angeben.
Es kann durch Tkinter.Entry (width = size)
bestimmt werden.
#!/usr/bin/env python
# -*- coding: utf8 -*-
import sys
import Tkinter
root = Tkinter.Tk()
root.title(u"Software Title")
root.geometry("400x300")
#Eintrag
EditBox = Tkinter.Entry(width=50)
EditBox.insert(Tkinter.END,"Zeichenfolge zum Einfügen")
EditBox.pack()
root.mainloop()
Ich habe versucht, es größer zu machen.
Verwenden Sie .get ()
, um den Inhalt des Eintrags abzurufen.
#!/usr/bin/env python
# -*- coding: utf8 -*-
import sys
import Tkinter
root = Tkinter.Tk()
root.title(u"Software Title")
root.geometry("400x300")
#Eintrag
EditBox = Tkinter.Entry(width=50)
EditBox.insert(Tkinter.END,"Zeichenfolge zum Einfügen")
EditBox.pack()
#Hier wird der Inhalt des Eintrags als Wert eingegeben
value = EditBox.get()
root.mainloop()
Es kann als "EditBox.delete (0, Tkinter.END)" angegeben werden.
(.delete(0, Tkinter.END)
)
Sie können es von jedem Ort löschen, aber ich werde es hier weglassen.
Einzelheiten finden Sie auf dieser Website
#!/usr/bin/env python
# -*- coding: utf8 -*-
import sys
import Tkinter
root = Tkinter.Tk()
root.title(u"Software Title")
root.geometry("400x300")
#Eintrag
EditBox = Tkinter.Entry(width=50)
EditBox.insert(Tkinter.END,"Zeichenfolge zum Einfügen")
EditBox.pack()
#Löschen Sie den Inhalt des Eintrags
EditBox.delete(0, Tkinter.END)
root.mainloop()
Da ich dem Eintrag Zeichen hinzugefügt und sie so gelöscht habe, wie sie waren, bedeutet dies, dass überhaupt nichts geschrieben wurde. Ich werde im nächsten "Button" -Element ein Beispiel geben, das etwas einfacher zu verstehen ist.
Schaltflächen können mit "Schaltfläche" erstellt werden.
#!/usr/bin/env python
# -*- coding: utf8 -*-
import sys
import Tkinter
root = Tkinter.Tk()
root.title(u"Software Title")
root.geometry("400x300")
#Taste
Button = Tkinter.Button(text=u'Es ist ein Knopf')
Button.pack()
root.mainloop()
.Button (text = u'Zeichen, das auf der Schaltfläche angezeigt werden soll ')
Es kann durch "width = width" angegeben werden.
#!/usr/bin/env python
# -*- coding: utf8 -*-
import sys
import Tkinter
root = Tkinter.Tk()
root.title(u"Software Title")
root.geometry("400x300")
#Taste
Button = Tkinter.Button(text=u'Es ist ein Knopf', width=50)
Button.pack()
root.mainloop()
Schaltflächen bilden grundsätzlich Aktionen in Funktionen (def :). Lassen Sie uns etwas erstellen, das den Inhalt des vorherigen Eintrags durch Drücken einer Schaltfläche löscht.
#!/usr/bin/env python
# -*- coding: utf8 -*-
import sys
import Tkinter
root = Tkinter.Tk()
root.title(u"Software Title")
root.geometry("400x300")
#
#Wird hier aufgerufen, wenn die Taste gedrückt wird
#
def DeleteEntryValue(event):
#Löschen Sie den Inhalt des Eintrags
EditBox.delete(0, Tkinter.END)
#Eintrag
EditBox = Tkinter.Entry(width=50)
EditBox.insert(Tkinter.END,"Zeichenfolge zum Einfügen")
EditBox.pack()
#Taste
Button = Tkinter.Button(text=u'Es ist ein Knopf', width=50)
Button.bind("<Button-1>",DeleteEntryValue)
#Links Klick (<Button-1>), Binden, um die DeleteEntryValue-Funktion aufzurufen
Button.pack()
root.mainloop()
.bind (" <Button-1> ", DeleteEntryValue)
ist
.bind (" Klick auf Verarbeitungsnummer ", Funktion oder Aktion zum Aufrufen)
Es ist wie folgt konfiguriert.
Wenn Sie nun auf die Schaltfläche klicken, wird die angegebene Funktion aufgerufen.
Klicken Sie auf "
Neben Klicks gibt es noch andere Ereignisse, die ich hier jedoch nicht anfassen werde. Weitere Informationen finden Sie auf dieser Website
Wenn Sie die Taste ↓ drücken, verschwinden die Zeichen
Eintrag und Button auch. Sie können es mit ".place (x = hoge, y = hoge)" anstelle von ".pack ()" angeben.
#!/usr/bin/env python
# -*- coding: utf8 -*-
import sys
import Tkinter
root = Tkinter.Tk()
root.title(u"Software Title")
root.geometry("400x300")
#
#Wird hier aufgerufen, wenn die Taste gedrückt wird
#
def DeleteEntryValue(event):
#Löschen Sie den Inhalt des Eintrags
EditBox.delete(0, Tkinter.END)
#Eintrag
EditBox = Tkinter.Entry(width=30)
EditBox.insert(Tkinter.END,"Zeichenfolge zum Einfügen")
EditBox.place(x=5, y=10)
#Taste
Button = Tkinter.Button(text=u'Es ist ein Knopf', width=25)
Button.bind("<Button-1>",DeleteEntryValue)
Button.place(x=105, y=60)
root.mainloop()
Dieser Typ war ziemlich nervig. Also möchte ich es einzeln in kleine Stücke teilen. In Tkinter scheint es, dass es Check Check anstelle von Check Box heißt.
Verwenden Sie .Checkbutton ()
.
#!/usr/bin/env python
# -*- coding: utf8 -*-
import sys
import Tkinter
root = Tkinter.Tk()
root.title(u"Software Title")
root.geometry("400x300")
CheckBox = Tkinter.Checkbutton()
CheckBox.pack()
root.mainloop()
Machen Sie es wie "CheckBox = Tkinter.Checkbutton (text = u" Item Name ")".
#!/usr/bin/env python
# -*- coding: utf8 -*-
import sys
import Tkinter
root = Tkinter.Tk()
root.title(u"Software Title")
root.geometry("400x300")
CheckBox1 = Tkinter.Checkbutton(text=u"Gegenstand 1")
CheckBox1.pack()
CheckBox2 = Tkinter.Checkbutton(text=u"Punkt 2")
CheckBox2.pack()
CheckBox3 = Tkinter.Checkbutton(text=u"Punkt 3")
CheckBox3.pack()
root.mainloop()
Von hier aus ist das Dämonentor.
Sie müssen immer BooleanVar ()
verwenden, damit jedes Kontrollkästchen standardmäßig die Werte "aktiviert" und "nicht aktiviert" hat.
BooleanVar ()
ist ein spezieller Typ, der nur zwei Auswahlmöglichkeiten speichern kann, "True" oder "False".
#!/usr/bin/env python
# -*- coding: utf8 -*-
import sys
import Tkinter
root = Tkinter.Tk()
root.title(u"Software Title")
root.geometry("400x300")
#
#Anfangswert jedes Kontrollkästchens
#
Val1 = Tkinter.BooleanVar()
Val2 = Tkinter.BooleanVar()
Val3 = Tkinter.BooleanVar()
Val1.set(False)
Val2.set(True)
Val3.set(False)
CheckBox1 = Tkinter.Checkbutton(text=u"Gegenstand 1", variable=Val1)
CheckBox1.pack()
CheckBox2 = Tkinter.Checkbutton(text=u"Punkt 2", variable=Val2)
CheckBox2.pack()
CheckBox3 = Tkinter.Checkbutton(text=u"Punkt 3", variable=Val3)
CheckBox3.pack()
root.mainloop()
Durch Speichern des ** BooleanVar-Werts ** mit True oder False in variable
Sie können angeben, ob überprüft werden soll oder nicht.
Eine Sache, die Sie hier beachten sollten, ist, dass Sie einen ** Fehler ** erhalten, wenn Sie variable = True
ausführen.
Sie müssen immer Daten vom Typ BooleanVar eingeben.
Verwenden Sie .get ()
.
Im obigen Beispiel gibt "Val1" an, ob CheckBox1 aktiviert ist oder nicht.
if Val1.get() == True:
Verarbeitung bei Prüfung
else:
Verarbeitung, wenn nicht aktiviert
Sie können es so bekommen.
Stichprobe
#!/usr/bin/env python
# -*- coding: utf8 -*-
import sys
import Tkinter
import tkMessageBox
root = Tkinter.Tk()
root.title(u"Software Title")
root.geometry("400x300")
#
#Ruft den Kontrollstatus des Kontrollkästchens ab
#
def check(event):
global Val1
global Val2
global Val3
text = ""
if Val1.get() == True:
text += "Punkt 1 ist geprüft\n"
else:
text += "Punkt 1 ist deaktiviert\n"
if Val2.get() == True:
text += "Punkt 2 ist geprüft\n"
else:
text += "Punkt 2 ist deaktiviert\n"
if Val3.get() == True:
text += "Punkt 3 ist geprüft\n"
else:
text += "Punkt 3 ist deaktiviert\n"
tkMessageBox.showinfo('info',text)
#
#Anfangswert jedes Kontrollkästchens
#
Val1 = Tkinter.BooleanVar()
Val2 = Tkinter.BooleanVar()
Val3 = Tkinter.BooleanVar()
Val1.set(False)
Val2.set(True)
Val3.set(False)
CheckBox1 = Tkinter.Checkbutton(text=u"Gegenstand 1", variable=Val1)
CheckBox1.pack()
CheckBox2 = Tkinter.Checkbutton(text=u"Punkt 2", variable=Val2)
CheckBox2.pack()
CheckBox3 = Tkinter.Checkbutton(text=u"Punkt 3", variable=Val3)
CheckBox3.pack()
button1 = Tkinter.Button(root, text=u'Holen Sie sich Scheck',width=30)
button1.bind("<Button-1>",check)
button1.pack()
root.mainloop()
↓ Wenn Sie in dieser Situation die Taste drücken
Der Prüfstatus wird erfasst.
Diese Dialognachricht verwendet die sogenannte "tkMessageBox".
import tkMessageBox
Hinzugefügt,
tkMessageBox.showinfo ('Titelname', 'Inhalt')
Es kann mit angezeigt werden.
Das war's für diese Zeit.
Recommended Posts