Jeżeli podobają Ci się ćwiczenia. Chcesz aby było ich więcej, dużo więcej! Oddaj głos na któryś z moich wpisów na Stock Overflow! Oto link – wystarczy tylko kliknąć!
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



























