
https://wiki.python.org/moin/Intro%20to%20programming%20with%20Python%20and%20Tkinter
Celem jest stworzenie okna dialogowego, które będzie zawierało słownik.
źródło: https://www.youtube.com/watch?v=_lSNIrR1nZU
Wynik kodu:
Kod:
from tkinter import * # <-- wprowadzam funkcję zatwierdzająca wprowadzony tekst, to jest potrzebne później # <-- ta funkcja gromadzi teksty z okienka wprowadzania tekstu # <-- funkcja ma za zadanie znaleźć słowo w słowniku i w oknie definicji pokazać # <-- definicję wyrazu ######### MOJE POLETKO FUNKCJI ########## # 1. FUNKCJA SŁOWNIKA def click(): entered_text=textentry.get() output.delete(0.0, END) try: #<-- To znaczy to samo co finkcja warunkowa if else definition = my_compdictionary[entered_text] except: definition = "przepraszam - tego słowa nie ma w naszym słowniku" output.insert(END, definition) # <-- Definuje funkcję zamykającą cały program # 2. FUNKCJA ZAMYKAJĄCA OKIENKO DIALOGOWE def Zamykanie_okna(): okno.destroy() exit() # <-- Funkcję odpalamy na końcu ale funkcja ma być wyżej niż ląd odpalający command= # <-- teraz są główne ustalenia kodu, okienka dialogowego okno = Tk() okno.title("Moje okno dialogowe") # <-- Zrobiłem napis na pasku okna dialogowego okno.configure(background="black") # <-- Zrobiłem tło czarne żeby było fajnie # <-- Tworze napis na pasku okienka dialogowego # <-- Teraz będę wstawiał zdjęcie do okna dialogowego photo1 = PhotoImage(file = "nn.png") # <-- Zdjęcie ma być w katalogu, w którym jest projekt w formacie png lub gif Label (okno, image = photo1, bg = "black") .grid(row=0, column=0, sticky=W) # Teraz wprowadzam tekst, który ma poprzedzać okno wprowadzania tekstu. Label(okno, text="Wprowadź słowo które lubisz z zasady:", bg="black", fg="yellow", font="none 12 bold") .grid(row=1, column=0, sticky=W) # <-- fg="yellow" font color, to kolor liter na napisie # <-- TERAZ TWORZE OKIENKO DO WPOWADZANIA TEKSTU: textentry = Entry(okno, width=20, bg="white") textentry.grid(row=2, column=0, sticky=W) # <-- Teraz tworzę okienko akceprtacji tego co wpisałem # <-- po command=click musi byc jakaś funkcja zatwierdzająca! taka funkcja zatwierdzająca # <-- została wprowadzona na początku kodu def click(): # <-- teraz tworzę przycisk zatwierdzania wprowadzonego tekstu Button(okno, text = "Zatwierdź", width = 9, command=click) .grid(row=3, column=0, sticky=W) # <-- tworzę nowy napis na okienku dialogowym "Definicna tego:" Label (okno, text="Definicja tego: ", bg="black", fg="white", font="none 12 bold") .grid(row=4, column=0, sticky=W) # <-- tworzę kontenerek do tekstu output = Text(okno, width=75, height=6, wrap=WORD, background="white") output.grid(row=5, column=0, columnspan=2, sticky=W) # <-- tworzenie słownika my_compdictionary = {'Algorytm':'Krok po kroku według instrukcji realizujemy zadanie' ,'Pomyłka':'Zdarzenie niezgodnie z instrukcją'} # <-- teraz tworzę napis końcowy wyjścia z programu Label(okno, text="Kliknij tutaj aby wyjść z programu:", bg="black", fg="white", font="none 12 bold") .grid(row=6, column=0, sticky=W) # <-- Dodaje przycisk zakończenia programu Button(okno, text="Exit", width=14, command=Zamykanie_okna) .grid(row=7, column=0, sticky=W) # <--parametr sticky=W znaczy West (zachód), a =E znaczy East wschód. # <-- tam pojawił się też parametr command - trzeba do tego znowu napisać funkcję, # <-- tym razem będzie to funkcja zamykająca cały program # <-- WAŻNE: najpierw w kodzie ma byc funkcja a potem command= # <-- Więc definiuje funkcję gdzieś wyżej - najlepiej zrobić oddzielne poletko do funkcji okno.mainloop() # <-- niekończąca się pętla