

Okienko do wpisywania wartości
from tkinter import * # importuje bibkiotekę
okno = Tk() # uruchamiam okno dialogowe
okno.title("Wpisz swoje imie!") # napis na ramce
okno.geometry('350x200') #wielkość okna
przywitanie = Label(okno, text="Witaj") # wprowadza napis do okna
przywitanie.grid(column=0, row=0) # zdefiniowanie gdzie ten napis ma sie znajdować
imie = Entry(okno,width=10) # wycięcie do wpisania swojego imienia
imie.grid(column=1, row=0) # zdefiniowanie gdzie te wcięcie ma się znajdować
def clicked(): # definiuje funkcję
przywitanie2 = "Witamy Ciebie " + imie.get() # to co pwisaliśmy imie tu się wyświetla
przywitanie.configure(text= przywitanie2)
przycisk = Button(okno, text="Naciśnij przycisk", command=clicked)
# naciśnij przycisk a uruchomi się funkcja
przycisk.grid(column=2, row=0) # położenie przycisku
okno.mainloop() #uruchomienie pętli
Inny przykład:
from tkinter import *
top = Tk()
L1 = Label(top, text = "User Name")
L1.pack( side = LEFT)
E1 = Entry(top, bd = 5)
E1.pack(side = RIGHT)
top.mainloop()
Suwak w oknie dialogowym
from tkinter import *
from tkinter.ttk import *
okno = Tk()
okno.title("Pierwszy suwak w oknie dialogowym")
okno.geometry('650x200')
suwak = Combobox(okno)
suwak['values']= (1, "Puławy", 3, 4, 5, "Azoty")
suwak.current(2) #ustawienie co ma być wartością domyślną
suwak.grid(column=0, row=0)
okno.mainloop()
https://dzone.com/articles/python-gui-examples-tkinter-tutorial-like-geeks
inny przykład
from tkinter import *
root = Tk()
scrollbar = Scrollbar(root)
scrollbar.pack( side = RIGHT, fill = Y )
mylist = Listbox(root, yscrollcommand = scrollbar.set )
for line in range(100):
mylist.insert(END, "This is line number " + str(line))
mylist.pack( side = LEFT, fill = BOTH )
scrollbar.config( command = mylist.yview )
mainloop()
Okno zaznaczania
from tkinter import *
from tkinter.ttk import *
okienko = Tk()
okienko.title("jakiś napis")
okienko.geometry('450x100')
decyzja = BooleanVar()
decyzja.set(False) # ustawienie True= zakreślone a Fałsz=puste okienko
kratka = Checkbutton(okienko, text='Zgadzam się', var=decyzja)
kratka.grid(column=0, row=0)
okienko.mainloop()
Inny przykład
from tkinter import *
top = Tk()
CheckVar1 = IntVar()
CheckVar2 = IntVar()
C1 = Checkbutton(top, text="Music", variable=CheckVar1, \
onvalue=1, offvalue=0, height=5, \
width=20, )
C2 = Checkbutton(top, text="Video", variable=CheckVar2, \
onvalue=1, offvalue=0, height=5, \
width=20)
C1.pack()
C2.pack()
top.mainloop()
Przyciski radiowe
from tkinter import *
from tkinter.ttk import *
okno = Tk()
okno.title("Przyciski radiowe")
okno.geometry('350x100')
rad1 = Radiobutton(okno,text='Jeden', value=1)
rad2 = Radiobutton(okno,text='Dwa', value=2)
rad3 = Radiobutton(okno,text='Trzy', value=3)
rad1.grid(column=0, row=0)
rad2.grid(column=1, row=0)
rad3.grid(column=2, row=0)
okno.mainloop()
Przyciski radiowe, które są drukowane na dole
from tkinter import *
from tkinter.ttk import *
okno = Tk()
okno.title("Coś jest napisane")
selected = IntVar()
rad1 = Radiobutton(okno,text='Puławy', value=1, variable=selected)
rad2 = Radiobutton(okno,text='Tarnów', value=2, variable=selected)
rad3 = Radiobutton(okno,text='Police', value=3, variable=selected)
def clicked():
print(selected.get())
btn = Button(okno, text="Drukuj to", command=clicked)
rad1.grid(column=0, row=0)
rad2.grid(column=1, row=0)
rad3.grid(column=2, row=0)
btn.grid(column=3, row=0)
okno.mainloop()
https://dzone.com/articles/python-gui-examples-tkinter-tutorial-like-geeks
inny przykład:
from tkinter import *
def sel():
selection = "You selected the option " + str(var.get())
label.config(text = selection)
root = Tk()
var = IntVar()
R1 = Radiobutton(root, text = "Option 1", variable = var, value = 1,
command = sel)
R1.pack( anchor = W )
R2 = Radiobutton(root, text = "Option 2", variable = var, value = 2,
command = sel)
R2.pack( anchor = W )
R3 = Radiobutton(root, text = "Option 3", variable = var, value = 3,
command = sel)
R3.pack( anchor = W)
label = Label(root)
label.pack()
root.mainloop()
Okno na notatki z suwakiem
from tkinter import *
from tkinter import scrolledtext # bez tego nie zadziała
okno = Tk()
okno.title("Moje notatki")
okno.geometry('350x200')
notatki = scrolledtext.ScrolledText(okno,width=40,height=10)
notatki.grid(column=0,row=0) #wyświtlenie okienka
notatki.insert(INSERT,'Napisz coś o sobie') # można wprowadzić tekst domyślny
# notatki.delete(1.0,END) # można też wykasować swoje notatki
okno.mainloop()
Inny przykład
from tkinter import *
root = Tk()
text = Text(root)
text.insert(INSERT, "Hello.....")
text.insert(END, "Bye Bye.....")
text.pack()
text.tag_add("here", "1.0", "1.4")
text.tag_add("start", "1.8", "1.13")
text.tag_config("here", background = "yellow", foreground = "blue")
text.tag_config("start", background = "black", foreground = "green")
root.mainloop()
https://www.tutorialspoint.com/python3/tk_text.htm
Okienko informacyjne
from tkinter import *
from tkinter import messagebox
okienko = Tk()
okienko.title("Moje okienko")
okienko.geometry('350x200')
def clicked():
messagebox.showinfo('Informacja', 'Działanie poprawne')
przycisk = Button(okienko,text='Naciśnij tutaj', command=clicked)
przycisk.grid(column=0,row=0)
okienko.mainloop()
Komunikat ostrzegający
messagebox.showwarning(‘Informacja ', 'Message content')
Komunikat o błędzie
messagebox.showerror(' Informacja ', 'Uwaga!!')
Inny przykład
from tkinter import *
from tkinter import messagebox
top = Tk()
top.geometry("100x100")
def helloCallBack():
msg = messagebox. showerror ( "Hello Python", "Hello World")
B = Button(top, text = "Hello", command = helloCallBack)
B.place(x = 50,y = 50)
top.mainloop()
Spinbox
from tkinter import *
from tkinter import IntVar
okienko = Tk()
okienko.title("Welcome to LikeGeeks app")
okienko.geometry('150x100')
kotek = Spinbox(okienko, from_=0, to=100, width=8)
# kotek = Spinbox(okienko, values=(3, 8, 11), width=5)
# kotek = Spinbox(okienko, from_=0, to=100, width=5, textvariable=var)
# var =IntVar()
# var.set(36)
kotek.grid(column=3,row=1)
okienko.mainloop()
Inny przykład:
from tkinter import *
okno = Tk()
koń = Spinbox(okno, from_ = 0, to = 20)
koń.pack()
mainloop()
źródło:
https://www.tutorialspoint.com/python3/tk_spinbox.htm
Tworzenie ciemniejszego paska
from tkinter import *
from tkinter.ttk import Progressbar
window = Tk()
bar = Progressbar(window, length=100)
bar.grid()
window.mainloop()
Pasek ładowania
from tkinter import *
from tkinter.ttk import Progressbar
window = Tk()
bar = Progressbar(window, length=100)
bar['value'] = 50
bar.grid()
window.mainloop()
Czerwony pasek ładowania
from tkinter import *
from tkinter.ttk import Progressbar
from tkinter import ttk
okno = Tk()
okno.title("Nazwa okna")
okno.geometry('350x200')
style = ttk.Style()
style.theme_use('default')
style.configure("black.Horizontal.TProgressbar", background='brown')
pasek = Progressbar(okno, length=200, style='black.Horizontal.TProgressbar')
pasek['value'] = 15
pasek.grid(column=0, row=0)
okno.mainloop()
źródło:
https://dzone.com/articles/python-gui-examples-tkinter-tutorial-like-geeks
Moduł do otwierania plików
from tkinter import *
from tkinter import filedialog
okno = Tk()
#file = filedialog.askopenfilename()
files = filedialog.askopenfilenames() #<= zaznacza wiele plików
okno.mainloop()
Otwieranie tylko plików tekstowych
file = filedialog.askopenfilename(filetypes = (("Text files","*.txt"),("all files","*.*")))
Wskazywanie katalogu
dir = filedialog.askdirectory()
Wskazywanie ostatniego katalogu z plikami
from os import path
file = filedialog.askopenfilename(initialdir= path.dirname(__file__))
Tworzenie menu
from tkinter import *
from tkinter import Menu
window = Tk()
menu = Menu(window)
menu.add_command(label='Pliki')
window.config(menu=menu)
window.mainloop()
źródło:
https://dzone.com/articles/python-gui-examples-tkinter-tutorial-like-geeks
Tworzenie manu2
from tkinter import *
from tkinter import Menu
okienko = Tk()
okienko.title("Moje okno")
menu = Menu(okienko)
nowe_coś = Menu(menu)
nowe_coś.add_command(label='teraz ja')
menu.add_cascade(label='Pliki', menu=nowe_coś)
okienko.config(menu=menu)
okienko.mainloop()
Tworzenie manu3
from tkinter import *
from tkinter import Menu
window = Tk()
window.title("Welcome to LikeGeeks app")
menu = Menu(window)
new_item = Menu(menu)
new_item.add_command(label='New')
new_item.add_separator()
new_item.add_command(label='Edit')
menu.add_cascade(label='File', menu=new_item)
window.config(menu=menu)
window.mainloop()
Funkcja łzawienia menu
new_item = Menu(menu, tearoff=0)
Możliwość podłączenia funkcji wykonawczych pod menu
new_item.add_command(label='New', command=clicked)
źródło:
https://dzone.com/articles/python-gui-examples-tkinter-tutorial-like-geeks
Tworzenie zakładki
from tkinter import *
from tkinter import ttk
okienko = Tk()
okienko.title("Jakiś tytuł")
kaczka = ttk.Notebook(okienko)
tab1 = ttk.Frame(kaczka)
kaczka.add(tab1, text='Zakładka 1')
kaczka.pack(expand=1, fill='both')
okienko.mainloop()
Rozbudowane zakładki
from tkinter import *
from tkinter import ttk
okienko = Tk()
okienko.title("Mój tytuł")
zakładki = ttk.Notebook(okienko)
tab1 = ttk.Frame(zakładki)
tab2 = ttk.Frame(zakładki)
zakładki.add(tab1, text='Puławy')
zakładki.add(tab2, text='Tarnów')
#treść1 = Label(tab1, text= 'opis 1') # może być taki prosty opis
treść1 = Label(tab1, text= 'opis 1', padx=25, pady=50)
treść1.grid(column=0, row=0)
treść2 = Label(tab2, text= 'opis 2', padx=65, pady=40)
treść2.grid(column=0, row=0)
zakładki.pack(expand=1, fill='both')
okienko.mainloop()
źródło:
https://dzone.com/articles/python-gui-examples-tkinter-tutorial-like-geeks
Tworzenie przycisku kończącego Quit
from tkinter import *
def drukuj_napis():
print("Tkinter działa poprawnie!")
okno = tk.Tk()
ramka = tk.Frame(okno)
ramka.pack()
przy_wyjście = tk.Button(ramka,
text="QUIT",
fg="red",
command=quit)
przy_wyjście.pack(side=tk.RIGHT)
przy_hello = tk.Button(ramka,
text="Hello",
command=drukuj_napis)
przy_hello.pack(side=tk.LEFT)
inny przykład
from tkinter import *
root = Tk()
frame = Frame(root)
frame.pack()
bottomframe = Frame(root)
bottomframe.pack( side = BOTTOM )
redbutton = Button(frame, text = "Red", fg = "red")
redbutton.pack( side = LEFT)
greenbutton = Button(frame, text = "Brown", fg="brown")
greenbutton.pack( side = LEFT )
bluebutton = Button(frame, text = "Blue", fg = "blue")
bluebutton.pack( side = LEFT )
blackbutton = Button(bottomframe, text = "Black", fg = "black")
blackbutton.pack( side = BOTTOM)
root.mainloop()
Taimer
import tkinter as tk
counter = 0
def counter_label(licznik):
counter = 0
def count():
global counter
counter += 1
licznik.config(text=str(counter))
licznik.after(1000, count)
count()
okno = tk.Tk()
okno.title("Taimer")
licznik = tk.Label(okno, fg="dark red")
licznik.pack()
counter_label(licznik)
przycisk = tk.Button(okno, text='Zatrzymaj odliczanie', width=25, command=okno.destroy)
przycisk.pack()
okno.mainloop()
Czerwony przycisk
from tkinter import *
okno = Tk()
okno.title("napis")
okno.geometry('150x100')
napisl = Label(okno, text="Cześć!")
napisl.grid(column=0, row=0)
przycisk = Button(okno, text="Click Me", bg="red", fg="white")
przycisk.grid(column=3, row=3)
okno.mainloop()
Figury geometryczne, bochomazy
from tkinter import *
from tkinter import messagebox
okno = Tk()
tło = Canvas(okno, bg = "yellow", height = 250, width = 200)
coord = 10, 50, 240, 210
łuk = tło.create_arc(coord, start = 0, extent = 150, fill = "green")
linia = tło.create_line(10,20,150,120,fill = 'red')
tło.pack()
okno.mainloop()
źródło:
https://www.tutorialspoint.com/python3/tk_menubutton.htm
Ustawianie napisu, etykietki
from tkinter import *
okno = Tk()
var = StringVar()
napis = Label(okno, textvariable = var, relief = RAISED )
var.set("Hey!? Co słychać?")
napis.pack()
okno.mainloop()
inny przykład:
from tkinter import *
okno = Tk()
kot = StringVar()
napis = Message(okno, textvariable = kot, relief = RAISED )
kot.set("Hey!? How are you doing?")
napis.pack()
okno.mainloop()
Lista z zaznaczaniem
from tkinter import *
okno = Tk()
Lb1 = Listbox(okno)
Lb1.insert(1, "Tarnów")
Lb1.insert(2, "Police")
Lb1.insert(3, "Kędzierzyn")
Lb1.insert(4, "Puławy")
Lb1.insert(5, "Siarkopol")
Lb1.insert(6, "Guben")
Lb1.pack()
okno.mainloop()
źródłó:
https://www.tutorialspoint.com/python3/tk_menubutton.htm
Menu Rozwijane
from tkinter import *
okno = Tk()
Rozwijany = Menubutton(okno, text="kontroling", relief=RAISED)
Rozwijany.grid()
Rozwijany.menu = Menu(Rozwijany, tearoff=0)
Rozwijany["menu"] = Rozwijany.menu
Zarz = IntVar()
Stra = IntVar()
Rozwijany.menu.add_checkbutton(label="zarządczy",
variable=Zarz)
Rozwijany.menu.add_checkbutton(label="strategiczny",
variable=Stra)
Rozwijany.pack()
okno.mainloop()
Gotowe menu do całego program
from tkinter import *
def Jakaś_funkcja():
filewin = Toplevel(okno)
button = Button(filewin, text="Funkcja do podstawienia")
button.pack()
okno = Tk()
menubar = Menu(okno)
filemenu = Menu(menubar, tearoff=0)
filemenu.add_command(label="New", command=Jakaś_funkcja)
filemenu.add_command(label="Open", command=Jakaś_funkcja)
filemenu.add_command(label="Save", command=Jakaś_funkcja)
filemenu.add_command(label="Save as...", command=Jakaś_funkcja)
filemenu.add_command(label="Close", command=Jakaś_funkcja)
filemenu.add_separator()
filemenu.add_command(label="Exit", command=okno.quit)
menubar.add_cascade(label="File", menu=filemenu)
editmenu = Menu(menubar, tearoff=0)
editmenu.add_command(label="Undo", command=Jakaś_funkcja)
editmenu.add_separator()
editmenu.add_command(label="Cut", command=Jakaś_funkcja)
editmenu.add_command(label="Copy", command=Jakaś_funkcja)
editmenu.add_command(label="Paste", command=Jakaś_funkcja)
editmenu.add_command(label="Delete", command=Jakaś_funkcja)
editmenu.add_command(label="Select All", command=Jakaś_funkcja)
menubar.add_cascade(label="Edit", menu=editmenu)
helpmenu = Menu(menubar, tearoff=0)
helpmenu.add_command(label="Help Index", command=Jakaś_funkcja)
helpmenu.add_command(label="About...", command=Jakaś_funkcja)
menubar.add_cascade(label="Help", menu=helpmenu)
okno.config(menu=menubar)
okno.mainloop()
https://www.tutorialspoint.com/python3/tk_menu.htm
Skala pomiarowa suwak
from tkinter import *
def suwak():
selection = "Wartość = " + str(var.get())
wartość.config(text = selection)
okno = Tk()
var = DoubleVar()
skala = Scale(okno, variable = var )
skala.pack(anchor = CENTER)
button = Button(okno, text = "Pomiar wartości", command = suwak)
button.pack(anchor = CENTER)
wartość = Label(okno)
wartość.pack()
okno.mainloop()
inny przykład
from tkinter import *
m1 = PanedWindow()
m1.pack(fill = BOTH, expand = 1)
left = Entry(m1, bd = 5)
m1.add(left)
m2 = PanedWindow(m1, orient = VERTICAL)
m1.add(m2)
top = Scale( m2, orient = HORIZONTAL)
m2.add(top)
bottom = Button(m2, text = "OK")
m2.add(bottom)
mainloop()
https://www.tutorialspoint.com/python3/tk_panedwindow.htm
Ramka z napisem
from tkinter import *
okno = Tk()
napis_NR = LabelFrame(okno, text="Napis na ramce")
napis_NR.pack(fill="both", expand="yes")
napis = Label(napis_NR, text="Napis w obramowaniu")
napis.pack()
okno.mainloop()
https://www.tutorialspoint.com/python3/python_basic_operators.htm