Python: Tkinter: Unterschied zwischen den Versionen
Flinh1 (Diskussion | Beiträge) |
Flinh1 (Diskussion | Beiträge) (→Canvas) |
||
Zeile 110: | Zeile 110: | ||
* create(x,y, text, fill, font) # z. B. c.create_text(150,100,text = "Hier kommt Freund Hein!", fill = farbe[1],font = ('Arial', 20)) | * create(x,y, text, fill, font) # z. B. c.create_text(150,100,text = "Hier kommt Freund Hein!", fill = farbe[1],font = ('Arial', 20)) | ||
* create_image(x,y, anchor = ''Himmelsrichtung'', image = ''meinBild'') # z. B.: meinBild = PhotoImage(file = '../koeln201906.gif'); c.create_image(0,0, anchor = NW, image = meinBild) # NW = northwest = links oben | * create_image(x,y, anchor = ''Himmelsrichtung'', image = ''meinBild'') # z. B.: meinBild = PhotoImage(file = '../koeln201906.gif'); c.create_image(0,0, anchor = NW, image = meinBild) # NW = northwest = links oben | ||
− | + | * move(ID,x,y) # bewegt Objekt Richtung x,y | |
---- | ---- | ||
Version vom 11. Juli 2019, 06:29 Uhr
Inhaltsverzeichnis
Allgemeines
Tkinter ist die Python-Schnittstelle zu Tk. Tkint ist ein Akronym für "Tk interface". Tk wurde ursprünglich als eine GUI-Erweiterung für Tcl entwickelt.
Import
Unter Python2 wird Tkinter großgeschrieben, unter Python3 kleingeschrieben: tkinter.
Python2: from Tkinter import *
Python3: from tkinter import *
Widgets
button canvas checkbutton combobox entry frame label labelframe listbox menu menubutton message notebook tk_optionMenu panedwindow progressbar radiobutton scale scrollbar separator sizegrip spinbox text treeview
Fenster
tk_chooseColor - lässt ein Pop-up-Fenster erscheinen, dass es dem Benutzer ermöglicht eine Farbe aus einer Palette auszuwählen. tk_chooseDirectory - Pop-up-Fenster, dass einem Benutzer erlaubt interaktiv ein Verzeichnis auszuwählen. tk_dialog - ein Pop-up-Fenster in Form eines Dialogfenster tk_getOpenFile - Pop-up-Fenster, dass einem Benutzer erlaubt interaktiv eine Datei zum Öffnen auszuwählen. tk_getSaveFile - Pop-up-Fenster, dass einem Benutzer erlaubt interaktiv eine Datei zum Schreiben auszuwählen. tk_messageBox - Pop-up-Fenster mit Message. tk_popup - Pop-up-Fenster. toplevel - erzeugt und verändert Widgets auf höchster Ebene.
Geometrie-Manager
place grid pack
Farben
Es können die üblichen englischen Farbnamen ('red') verwendet werden. Um sicher zu sein, dass keine Fehler auftreten, ist es besser, die RGB-Bezeichnungen zu verwenden, entweder als Tupel ( (255,0,0) ) oder in hexadezimaler Schreibweise ('#ff0000')
Zur Farbauswahl kann man in das Skript den Colorchooser aufrufen:
from tkinter.colorchooser import askcolor farbe = askcolor()
farbe[0] gibt den Code in Tupel-Schreibweise aus, farbe[1] den hexadezimalen Code.
Canvas
Grundgerüst:
from tkinter import * tk = Tk() c = Canvas(tk,width = 500, height = 500) c.pack() c.create_line(0,0,500,500)
Vergleich zu Turtle:
import turtle as t t.setup(width = 500, height = 500) t.up() t.goto(-250,250) t.down() t.goto(250,-250)
Die Koordinaten werden von der linken oberen Ecke aus gedacht.
Funktionen:
- create_line(x1,y1,x2,y2)
- create_rectangle(x1,y1,x2,y2) # optional zum Ausfüllen: create_rectangle(x1,y1,x2,y2,fill = 'farbe'))
- create_arc(x1,y1,x2,y2,extent = Winkelgrad, style = ARC) # z. B.: c.create_arc(10,10,200,80,extent = 359, style = ARC)
- create_polygon(x1,y1,x2,y2,xn,yn,fill = farbe, outline = farbe) # z. B.: c.create_polygon(10,10,100,10,100,120,90,130,30,60, fill = "", outline = 'black')
- create(x,y, text, fill, font) # z. B. c.create_text(150,100,text = "Hier kommt Freund Hein!", fill = farbe[1],font = ('Arial', 20))
- create_image(x,y, anchor = Himmelsrichtung, image = meinBild) # z. B.: meinBild = PhotoImage(file = '../koeln201906.gif'); c.create_image(0,0, anchor = NW, image = meinBild) # NW = northwest = links oben
- move(ID,x,y) # bewegt Objekt Richtung x,y
Beispiele
Button
from tkinter import * def hallowelt(): print("Hallo Welt") tk = Tk() btn = Button(tk,text = "Hier klicken",command = hallowelt) btn.pack()
Textbox
from tkinter import * w1=Tk() w1.geometry('100x100') w1.config(bg='#f00') w1.title('red windows') w2=Tk() w2.geometry('300x300') w2.config(bg='grey') w2.title('grey windows') t1 = Label(w1, text='text in red window', fg='yellow', bg = 'grey') t1.config(font = ('Times', 25)) t1.pack() w1.mainloop() w2.mainloop()
Quellen
- https://tkdocs.com/tutorial/
- https://wiki.python.org/moin/TkInter
- https://docs.python.org/3/library/tkinter.html
- https://de.wikipedia.org/wiki/Tkinter
- https://www.python-kurs.eu/python_tkinter.php
- Python & Tkinter - Строки (Индексы и срезы)
- Python & Tkinter - Строки (Часть 2)
| |