Tkinter - THE DATA SCIENCE LIBRARY https://sigmaquality.pl/tag/tkinter/ Wojciech Moszczyński Tue, 02 May 2017 06:32:00 +0000 pl-PL hourly 1 https://wordpress.org/?v=6.8.3 https://sigmaquality.pl/wp-content/uploads/2019/02/cropped-ryba-32x32.png Tkinter - THE DATA SCIENCE LIBRARY https://sigmaquality.pl/tag/tkinter/ 32 32 Py_wewnętrzne notatki_1: Tkinter część.1 -Prywatne https://sigmaquality.pl/tkinter/py_wewnetrzne-notatki_1/ Tue, 02 May 2017 06:32:00 +0000 http://sigmaquality.pl/?p=2596 https://www.youtube.com/watch?v=1mNCq7PUthw Aby stworzyć okno dialogowe w w Gui Tkinter należy najpierw importować ten moduł używając instrukcji import. Dzięki stworzeniu własnych manu i okien dialogowych Python [...]

Artykuł Py_wewnętrzne notatki_1: Tkinter część.1 -Prywatne pochodzi z serwisu THE DATA SCIENCE LIBRARY.

]]>

 Okno dialogowe w Gui Tkinter 

https://www.youtube.com/watch?v=1mNCq7PUthw Aby stworzyć okno dialogowe w w Gui Tkinter należy najpierw importować ten moduł używając instrukcji import. Dzięki stworzeniu własnych manu i okien dialogowych Python przestaje być tylko kodem a zaczyna być programem użytkowym. Poniższy kod tworzy najprostszą ramkę okna dialogowego.
from tkinter import *           # <-- import bibliotek tkinter
okienko = Tk()                  # <-- tworzenie okna
etykieta = Label(okienko,text = "moje menu")
etykieta.pack()                  # <-- komenda powodująca pojawienie się okna
okienko.mainloop()               # <-- nieskończona pętla, w której działa program
  W wyniku uruchomienia kodu powinna ukazać się ramka z napisem: "moje pierwsze okno dialogowe".

 Kolejny przykład 

 
from tkinter import *
okienko = Tk()

topFrame = Frame(okienko)
topFrame.pack()
bottomFrame = Frame(okienko)
bottomFrame.pack(side = BOTTOM)

przycisk1 = Button(topFrame,text = "Przycisk 1", fg = "red")
przycisk1.pack(side = LEFT)

przycisk2 = Button (topFrame, text = "Przycisk 2", fg = "green")
przycisk2.pack(side = BOTTOM)

przycisk3 = Button (topFrame, text = "Przycisk 3", fg = "black")
przycisk3.pack(side = TOP)

przycisk4 = Button (bottomFrame, text = "Przycisk 4", fg = "green")
przycisk4.pack()

okienko.mainloop()
  źródło: Kurs Python 3 - lekcja 26 - Gui Tkinter - Ramki i przyciski; TechAkademiaPL https://www.youtube.com/watch?v=u0BF4ZR8bvk

 Przykład trzeci 

   
from tkinter import *
okienko = Tk()

etykieta1 = Label(okienko, text = "etykieta 1", bg = "green")
etykieta1.pack()          # <-- Do uruchopmienia, 
                          # materializacji nalepki, labela

etykieta2 = Label(okienko, text = "etykieta 2", bg = "yellow")
etykieta2.pack(fill = X)   # <-- Kiedy jest fill = X wtedy cała pozioma 
                            #oś jest wypełniona, to samo dotyczy przycisków

etykieta3 = Label(okienko, text = "etykieta 3", bg = "red")
etykieta3.pack(side = LEFT, fill = Y)     # <-- przy Y musi być określona 
                                            # strona lewa albo prawa.
                            #  To samo, etykieta przesunięta 
                             # do lewej i wypełniona cała pionowa przestrzeń

okienko.mainloop()          # <-- wieczna pętla
 

 Tworzenie prostego przycisku z przypisana funkcją – sposób 1 

https://www.youtube.com/watch?v=UebKpTKdo6s    
from tkinter import *     # <-- import
okno = Tk()               
# <-- uruchamiamy funkcje tworzenia okien

def wypisz():                          
# <-- definiuje funkcję
    print("Moja działająca funkcja!")  
# <-- definiuje funkcję

przycisk = Button(okno, text = "kliknij mnie!", command = wypisz) 
# <-- Definiuje przycisk
przycisk.pack()                                                   
# <-- materializuje przycisk

okno.mainloop()       
# <-- wieczna pętla



Po naciśnięciu drukuje się komunikat: 
Moja działająca funkcja!
Moja działająca funkcja!
Moja działająca funkcja!
Moja działająca funkcja!







 Tworzenie prostego przycisku z przypisana funkcją – sposób 2 
https://www.youtube.com/watch?v=UebKpTKdo6s  
from tkinter import *       # <-- import
okno = Tk()                 
# <-- uruchamiamy funkcje tworzenia okien

def wypisz(jakieś_zdarzenie):            
# <-- definiuje funkcję, przy tym sposobie trzeba
# tu wpisać coś, jakieś zdarzenie - przy sposobie 2
    print("Moja działająca funkcja!")    
# <-- definiuje funkcję

przycisk = Button(okno, text = "kliknij mnie!")  
# <-- Definiuje przycisk
przycisk.bind("<Button-1>", wypisz)      
# <-- materializuje przycisk,
# <Button-1> to lewy przycisk myszy,
# <Button-3> to prawy przycisk myszy
# <Button-2> środkowy przycisk myszy
przycisk.pack()            
# <-- materializuje przycisk
okno.mainloop()            
# <-- wieczna pętla

 
Po naciśnięciu drukuje się komunikat: 
Moja działająca funkcja! 
Moja działająca funkcja! 
Moja działająca funkcja! 
Moja działająca funkcja! 

 

Artykuł Py_wewnętrzne notatki_1: Tkinter część.1 -Prywatne pochodzi z serwisu THE DATA SCIENCE LIBRARY.

]]>
Py_wewnętrzne notatki_1: Tkinter część.2 — Prywatne https://sigmaquality.pl/tkinter/py_wewnetrzne-notatki_1-tkinter-czesc-2-prywatne/ Tue, 02 May 2017 06:32:00 +0000 http://sigmaquality.pl/?p=2613   https://www.youtube.com/watch?v=5BrY9-eImEQ Tworzenie płaszczyzny reagującej na naciskanie przycisków myszy from tkinter import * okno =Tk() def lewyprzycisk(event):     print("Lewy") def prawyprzycisk(event):     print("Prawy") def srodkowyprzycisk(event): [...]

Artykuł Py_wewnętrzne notatki_1: Tkinter część.2 — Prywatne pochodzi z serwisu THE DATA SCIENCE LIBRARY.

]]>

 

https://www.youtube.com/watch?v=5BrY9-eImEQ

Tworzenie płaszczyzny reagującej na naciskanie przycisków myszy

from tkinter import *
okno =Tk()

def lewyprzycisk(event):
    print("Lewy")

def prawyprzycisk(event):
    print("Prawy")

def srodkowyprzycisk(event):
    print("Srodkowy")

ramka = Frame(okno, width = 480, height = 320)
ramka.pack()
# <-- określa jak duża ma być to ramka, dokładne wymiary

ramka.bind("<Button-1>", lewyprzycisk)
ramka.bind("<Button-3>", prawyprzycisk)
ramka.bind("<Button-2>", srodkowyprzycisk)
# <-- przyporządkowuje ramkę do zdefiniowanych funkcji myszy
okno.mainloop()

Teraz zamiast print(„Lewy”) wstawiłem: print(event.x,event.y)

Zamiast informacji: „Lewy” po kliknięciu myszą otrzymuje dokładne położenie kliknięcia w skali x,y.

 

from tkinter import *
okno =Tk()

def lewyprzycisk(event):
    print(event.x,event.y)
# <-- tu dokonałem zmiany

def prawyprzycisk(event):
    print("Prawy")

def srodkowyprzycisk(event):
    print("Srodkowy")

ramka = Frame(okno, width = 480, height = 320)
ramka.pack()
# <-- określa jak duża ma być to ramka, dokładne wymiary

ramka.bind("<Button-1>", lewyprzycisk)
ramka.bind("<Button-3>", prawyprzycisk)
ramka.bind("<Button-2>", srodkowyprzycisk)
# <-- przyporządkowuje ramkę do zdefiniowanych funkcji myszy

okno.mainloop()





 

 

Artykuł Py_wewnętrzne notatki_1: Tkinter część.2 — Prywatne pochodzi z serwisu THE DATA SCIENCE LIBRARY.

]]>