Mga Halimbawa ng Python Tkinter

Mga Halimbawa Ng Python Tkinter



Ang Python ay isang maraming nalalaman na programming language na maaaring magamit upang ipatupad ang iba't ibang uri ng mga application. Ito ay may maraming uri ng mga module upang lumikha ng GUI (Graphical User Interface) na mga application na nakabatay sa. Isa na rito ang Python tkinter. Ang anumang desktop application ay madaling ipatupad gamit ang tkinter module. Magiging mas mabuti kung mayroon kang pangunahing kaalaman sa Python programming upang matutunan ang mga gamit ng Python tkinter module. Ang iba't ibang paggamit ng Python tkinter module upang lumikha ng mga GUI application ay ipinapakita sa tutorial na ito.

I-install ang Tkinter Module

Ang module ng tkinter ay hindi naka-install sa Python bilang default. Kaya, kailangan mong patakbuhin ang sumusunod na command upang mai-install ang tkinter module sa bersyon ng Python 3+:







$ sudo apt i-install python3-tk



Iba't ibang Tkinter Widget

Ang module ng tkinter ay naglalaman ng iba't ibang mga widget para sa iba't ibang layunin.







Pangalan ng Widget Layunin
Label Ito ay ginagamit upang ipakita ang pagtulong na mensahe para sa gumagamit.
Pindutan Ito ay ginagamit upang magdagdag ng iba't ibang mga pindutan sa application.
Frame Gumagana ito tulad ng isang lalagyan ng widget na naglalaman ng iba't ibang uri ng mga widget upang magdisenyo ng isang organisadong form.
Pagpasok Ito ay ginagamit upang kumuha ng isang linyang teksto mula sa gumagamit.
Checkbutton Ito ay ginagamit upang idagdag ang mga pindutan ng checkbox upang kumuha ng maraming input mula sa user mula sa maraming mga opsyon.
Radiobutton Ito ay ginagamit upang magdagdag ng mga radio button upang kumuha ng isang input mula sa user mula sa maraming mga pagpipilian.
Button ng combobox Ito ay ginagamit upang magdagdag ng isang dropdown na listahan upang kumuha ng isang input mula sa user mula sa maraming mga pagpipilian.
Kahon ng listahan Ito ay ginagamit upang magdagdag ng isang listbox upang kumuha ng maramihang mga input mula sa gumagamit mula sa maraming mga pagpipilian.
Text Ito ay ginagamit upang kumuha ng multi-line na text mula sa user.
Mensahe Ito ay ginagamit upang ipakita ang window ng mensahe para sa gumagamit.
Scroll bar Ito ay ginagamit upang magdagdag ng isang scrollbar sa window upang mag-scroll sa window pataas at pababa.
Button ng menu Ito ay ginagamit upang ipakita ang menu sa gumagamit.
Menu Ito ay ginagamit upang ipakita ang mga item sa menu sa gumagamit.
PanedWindow Gumagana ito tulad ng isang lalagyan ng widget na naglalaman ng mga pahalang at patayong pane.
Mga tab Ito ay ginagamit upang magdagdag ng tab window sa application.

Iba't ibang Halimbawa ng Tkinter

Ang paggamit ng ilang karaniwang tkinter widget ay ipinapakita sa mga sumusunod na halimbawa.

Halimbawa 1: Gumawa ng Simpleng GUI Application

Gumawa ng Python file na may sumusunod na content na nagpapakita ng dialog box sa gitna ng screen na may pamagat at partikular na taas at lapad:



#Mag-import ng kinakailangang Module
mula sa tkinter import *

#Lumikha ng bagay para sa window
tkobj = Tk ( )

#Itakda ang pamagat ng window
tkobj.title ( 'Matuto ng tkinter module' )

#Itakda ang taas at lapad ng window
tkobj.geometry ( '300x150' )

#Itakda ang posisyon ng display ng window sa gitna
tkobj.eval ( 'tk::PlaceWindow . gitna' )

#Patakbuhin ang Tkinter
tkobj.mainloop ( )

Output:

Ang sumusunod na output ay lilitaw pagkatapos isagawa ang script. Ang isang dialog box na may pamagat na 'Learn tkinter module' ay ipinapakita:

Halimbawa 2: Paggamit ng Label at Button

Gumawa ng Python file na may sumusunod na script na nagpapakita ng window na may label at dialog box:

#Mag-import ng kinakailangang Module
mula sa tkinter import *

#Gumawa ng isang bagay para sa window
tkobj = Tk ( )

#Itakda ang pamagat ng window
tkobj.title ( 'Matuto ng tkinter module' )

#Itakda ang taas at lapad ng window
tkobj.geometry ( '400x150' )

#Define label object
lbl = Label ( tkobj, text = 'Ito ay isang simpleng bintana' )
#Magdagdag ng label sa window
lbl.pack ( ipadx = 30 , ipads = dalawampu )

#Tukuyin ang bagay na pindutan
btn = Pindutan ( tkobj, text = 'Pindutin mo ako' )
#Add button sa window na may posisyon
btn.pack ( ipadx = 30 , ipads = 10 )

#Itakda ang posisyon ng display ng window sa gitna
tkobj.eval ( 'tk::PlaceWindow . gitna' )

#Patakbuhin ang Tkinter
tkobj.mainloop ( )

Output:

Lumilitaw ang isang window na may label at isang button sa gitna ng screen pagkatapos isagawa ang script.

Halimbawa 3: Itakda ang Kulay ng Font at Kulay ng Background

Gumawa ng Python file na may sumusunod na script na nagpapakita ng window na may label at makulay na button. Dito, ang katangian ng background ay ginagamit upang itakda ang kulay ng background ng button at ang foreground na katangian ay ginagamit upang itakda ang kulay ng font ng button:

#Mag-import ng kinakailangang Module
mula sa tkinter import *

#Gumawa ng isang bagay para sa window
tkobj = Tk ( )

#Itakda ang pamagat ng window
tkobj.title ( 'Matuto ng tkinter module' )

#Itakda ang taas at lapad ng window
tkobj.geometry ( '400x150' )

#Define label object
lbl = Label ( tkobj, text = 'Itakda ang kulay ng background at foreground' )
#Magdagdag ng label sa window
lbl.pack ( ipadx = 30 , ipads = dalawampu )

#Define button object na may kulay ng background at foreground
btn = Pindutan ( tkobj, text = 'Pindutin mo ako' , background = 'asul' , foreground = 'pula' )
#Add button sa window na may posisyon
btn.pack ( ipadx = 30 , ipads = 8 )

#Itakda ang posisyon ng display ng window sa gitna
tkobj.eval ( 'tk::PlaceWindow . gitna' )

#Patakbuhin ang Tkinter
tkobj.mainloop ( )

Output:

Ang sumusunod na window ay lilitaw pagkatapos isagawa ang script:

Halimbawa 4: Paggamit ng Frame

Sa sumusunod na script ng Python, ipinapakita ang isang label at dalawang button sa loob ng isang frame widget. Lumikha ng isang Python file na may script upang suriin ang output:

#Mag-import ng kinakailangang Module
mula sa tkinter import *

#Gumawa ng isang bagay para sa window
tkobj = Tk ( )

#Itakda ang pamagat ng window
tkobj.title ( 'tkinter Module' )

#Itakda ang taas at lapad ng window
tkobj.geometry ( '250x100' )

#Tukuyin ang mga bagay sa frame
frm = Frame ( tkobj )
frm.pack ( )
lframe = Frame ( tkobj )
lframe.pack ( gilid =KALIWA )
rframe = Frame ( tkobj )
rframe.pack ( gilid = TAMA )

#Tukuyin ang label sa loob ng frame
lbl = Label ( frm, text = 'Paggamit ng Frame' , fg = 'asul' )
lbl.pack ( )

#Tukuyin ang mga pindutan sa loob ng frame
btn1 = Pindutan ( lframe, text = '' , fg = 'itim' , bg = 'puti' )
btn2.pack ( gilid = TAMA )

#Itakda ang posisyon ng display ng window sa gitna
tkobj.eval ( 'tk::PlaceWindow . gitna' )

#Patakbuhin ang Tkinter
tkobj.mainloop ( )

Output:

Ang sumusunod na output ay lilitaw pagkatapos isagawa ang script:

Halimbawa 5: Pangasiwaan ang Button Event

Ang paggamit ng kahon ng mensahe ay ipinapakita sa sumusunod na script. Ang kahon ng mensahe ay ipinapakita kapag ang isang pindutan ay na-click:

#Mag-import ng mga kinakailangang Module
mula sa tkinter import *
mula sa tkinter import messagebox

#Gumawa ng isang bagay para sa window
tkobj = Tk ( )

#Itakda ang pamagat ng window
tkobj.title ( 'Matuto ng tkinter module' )

#Itakda ang taas at lapad ng window
tkobj.geometry ( '400x150' )

#Tukuyin ang isang function upang ipakita ang isang kahon ng mensahe
def display ( ) :
messagebox.showinfo ( 'Impormasyon' , 'Na-click ang button.' )

#Gumawa ng teksto ng label na may kulay, istilo, at posisyon ng font
Label ( tkobj, text = 'Desktop application gamit ang tkinter.' , fg = 'berde' ) .pack ( palay = 25 )

#Gumawa ng button na may tagapangasiwa ng button
Pindutan ( tkobj, text = 'Ipakita ang Mensahe' , utos =display ) .pack ( )

#Itakda ang posisyon ng display ng window sa gitna
tkobj.eval ( 'tk::PlaceWindow . gitna' )

#Patakbuhin ang Tkinter
tkobj.mainloop ( )

Output:

Ang sumusunod na window ay lilitaw pagkatapos isagawa ang script:

Ang sumusunod na kahon ng mensahe ay lilitaw pagkatapos ng pagpindot sa pindutan:

Halimbawa 6: Kumuha ng Input mula sa User

Maramihang mga widget ay magagamit sa tkinter module upang kumuha ng input mula sa user. Ang mga paggamit ng mga pinakakaraniwang widget ay ipinapakita sa sumusunod na script. Lumikha ng Python file na may sumusunod na code upang suriin ang output:

#Mag-import ng mga kinakailangang Module
mula sa tkinter import *
mula sa tkinter.ttk import Combobox
mula sa tkinter import ttk
import tkinter bilang tk
mula sa tkinter import messagebox

#Lumikha ng tkinter object
tkobj = Tk ( )

#Itakda ang pamagat ng window
tkobj.title ( 'Form ng Impormasyon ng User' )

#Itakda ang taas at lapad ng window
tkobj.geometry ( '550x320' )

#Tukuyin ang isang function upang ipakita ang mga halaga ng form
def display_values ( ) :
#Basahin ang single-line na text
pangalan = 'Pangalan : ' + name_val.get ( ) + ' \n '
#Basahin ang napiling halaga ng radio button
kung kasarian.kunin ( ) == 1 :
g = 'lalaki'
iba pa:
g = 'Babae'
g = ' Kasarian : ' + g + ' \n '

#Basahin ang mga napiling halaga ng checkbox
laro = ''
kung g1.kunin ( ) == 1 :
laro = 'Kuliglig'
kung g2.kunin ( ) == 1 :
kung laro ! = '' :
laro += ',' + 'Football'
iba pa:
laro = 'Football'
kung g3.kunin ( ) == 1 :
kung laro ! = '' :
laro += ',' + 'Basketball'
iba pa:
laro = 'Basketball'
laro = 'Laro :' + laro + ' \n '

#Basahin ang mga halaga ng combobox
bansa = 'Bansa :' + countryVal.get ( ) + ' \n '
#Basahin ang multi-line na teksto
address = 'Address :' + addr.get ( '1.0' , 'tapos' ) + ' \n '
#Pagsamahin ang lahat ng mga halaga na kinuha ng mga patlang
form_values ​​= pangalan + g + laro + bansa + address
#Ipakita ang mga halaga sa kahon ng mensahe
messagebox.showinfo ( 'Mga Detalye ng Impormasyon ng User' , form_values )


#Gumawa ng label at field ng pangalan
Label ( tkobj, text = 'Pangalan : ' ) .lugar ( x = 100 , at = dalawampu )
name_val = StringVar ( )
ttk.Pagpasok ( tkobj, textvariable =name_val ) .pack ( Padx = 220 , palay = dalawampu )

#Gumawa ng label at ang radio button
Label ( tkobj, text = ' Kasarian : ' ) .lugar ( x = 100 , at = 60 )
kasarian = IntVar ( )
kasarian.set ( 1 )
Radiobutton ( tkobj, text = 'lalaki' , variable =kasarian, halaga = 1 ) .lugar ( x = 210 , at = 60 )
Radiobutton ( tkobj, text = 'Babae' , variable =kasarian, halaga = 2 ) .lugar ( x = 290 , at = 60 )

#Gumawa ng label at checkbox na button
Label ( tkobj, text = 'Paboritong laro :' ) .lugar ( x = 100 , at = 100 )
g1 = IntVar ( )
g2 = IntVar ( )
g3 = IntVar ( )
Checkbutton ( tkobj, text = 'Kuliglig' , variable =g1 ) .lugar ( x = 210 , at = 100 )
Checkbutton ( tkobj, text = 'Football' , variable =g2 ) .lugar ( x = 290 , at = 100 )
Checkbutton ( tkobj, text = 'Basketball' , variable =g3 ) .lugar ( x = 380 , at = 100 )

#Tukuyin ang mga halaga ng tuple
data = ( 'Bangladesh' , 'Hapon' , 'USA' )
#Gumawa ng label at combobox
Label ( tkobj, text = 'Bansa :' ) .lugar ( x = 100 , at = 140 )
countryVal = StringVar ( )
Combobox ( tkobj, mga halaga =data, textvariable =countryVal ) .lugar ( x = 220 , at = 140 )

#Gumawa ng label at field ng teksto
Label ( tkobj, text = 'Address :' ) .lugar ( x = 100 , at = 180 )
addr = ( tk.Teksto ( tkobj, taas = 3 , lapad = dalawampu ) )
addr.place ( x = 220 , at = 180 )

#Gumawa ng isang button na may isang button handler
Pindutan ( tkobj, text = 'Ipasa' , utos =display_values ) .lugar ( x = 250 , at = 250 )

#Patakbuhin ang Tkinter
tkobj.mainloop ( )

Output:

Ang sumusunod na window ay lilitaw pagkatapos isagawa ang script:

Punan ang mga patlang ng form at pindutin ang 'Isumite' na buton.

Ang sumusunod na kahon ng mensahe na may mga isinumiteng halaga ay lilitaw:

Konklusyon

Ang mga paraan ng paggamit ng Python tkinter module upang lumikha ng mga GUI application ay ipinapakita sa tutorial na ito gamit ang maraming halimbawa.