Exemples de Python Tkinter

Exemples De Python Tkinter



Python és un llenguatge de programació versàtil que es pot utilitzar per implementar diferents tipus d'aplicacions. Té molts tipus de mòduls per crear aplicacions basades en la GUI (Graphical User Interface). Python tkinter és un d'ells. Qualsevol aplicació d'escriptori es pot implementar fàcilment mitjançant el mòdul tkinter. Serà millor si teniu uns coneixements bàsics de programació de Python per aprendre els usos del mòdul tkinter de Python. En aquest tutorial es mostren diferents usos del mòdul tkinter de Python per crear les aplicacions GUI.

Instal·leu el mòdul Tkinter

El mòdul tkinter no està instal·lat a Python per defecte. Per tant, heu d'executar l'ordre següent per instal·lar el mòdul tkinter a la versió de Python 3+:







$ sudo apt instal·lar python3-tk



Diferents widgets de Tkinter

El mòdul tkinter conté diversos ginys per a diversos propòsits.







Nom del widget Propòsit
Etiqueta S'utilitza per mostrar el missatge d'ajuda per a l'usuari.
Botó S'utilitza per afegir diferents botons a l'aplicació.
Marc Funciona com un contenidor de ginys que conté diferents tipus de ginys per dissenyar un formulari organitzat.
Entrada S'utilitza per agafar un text d'una sola línia de l'usuari.
Botó de verificació S'utilitza per afegir els botons de la casella de selecció per prendre diverses entrades de l'usuari de diverses opcions.
Botó de ràdio S'utilitza per afegir els botons de ràdio per prendre una única entrada de l'usuari de diverses opcions.
Botó de la caixa combinada S'utilitza per afegir una llista desplegable per prendre una única entrada de l'usuari de diverses opcions.
ListBox S'utilitza per afegir un quadre de llista per prendre diverses entrades de l'usuari de diverses opcions.
Text S'utilitza per prendre un text de diverses línies de l'usuari.
Missatge S'utilitza per mostrar la finestra de missatges per a l'usuari.
Barra de desplaçament S'utilitza per afegir una barra de desplaçament a la finestra per desplaçar-la cap amunt i cap avall.
Botó de menú S'utilitza per mostrar el menú a l'usuari.
Menú S'utilitza per mostrar els elements del menú a l'usuari.
PanedWindow Funciona com un contenidor de widgets que conté els panells horitzontals i verticals.
Pestanyes S'utilitza per afegir una finestra de pestanya a l'aplicació.

Diferents exemples de Tkinter

Els usos d'alguns ginys comuns de tkinter es mostren als exemples següents.

Exemple 1: creeu una aplicació GUI senzilla

Creeu un fitxer Python amb el contingut següent que mostri un quadre de diàleg al centre de la pantalla amb un títol i l'alçada i l'amplada particulars:



#Importa el mòdul necessari
de la importació de tkinter *

#Crea un objecte per a la finestra
tkobj = Tk ( )

#Definiu el títol de la finestra
tkobj.title ( 'Aprèn mòdul tkinter' )

#Definiu l'alçada i l'amplada de la finestra
tkobj.geometria ( '300 x 150' )

#Configureu la posició de visualització de la finestra de manera centralitzada
tkobj.eval ( 'tk::PlaceWindow . centre' )

#Executar el Tkinter
tkobj.mainloop ( )

Sortida:

La sortida següent apareix després d'executar l'script. Es mostra un quadre de diàleg amb el títol 'Aprèn mòdul tkinter':

Exemple 2: ús de l'etiqueta i el botó

Creeu un fitxer Python amb el següent script que mostra una finestra amb una etiqueta i un quadre de diàleg:

#Importa el mòdul necessari
de la importació de tkinter *

#Crea un objecte per a la finestra
tkobj = Tk ( )

#Definiu el títol de la finestra
tkobj.title ( 'Aprèn mòdul tkinter' )

#Definiu l'alçada i l'amplada de la finestra
tkobj.geometria ( '400 x 150' )

#Definir l'objecte etiqueta
lbl = Etiqueta ( tkobj, text = 'És una finestra senzilla' )
#Afegiu una etiqueta a la finestra
lbl.pack ( ipadx = 30 , ipads = 20 )

#Defineix l'objecte botó
btn = Botó ( tkobj, text = 'Clica'm' )
#Afegeix el botó a la finestra amb la posició
btn.pack ( ipadx = 30 , ipads = 10 )

#Configureu la posició de visualització de la finestra de manera centralitzada
tkobj.eval ( 'tk::PlaceWindow . centre' )

#Executar el Tkinter
tkobj.mainloop ( )

Sortida:

Després d'executar l'script, apareix una finestra amb una etiqueta i un botó al centre de la pantalla.

Exemple 3: Definiu el color de la lletra i el color de fons

Creeu un fitxer Python amb el següent script que mostra una finestra amb una etiqueta i un botó de colors. Aquí, l'atribut de fons s'utilitza per establir el color de fons del botó i l'atribut de primer pla s'utilitza per establir el color de la font del botó:

#Importa el mòdul necessari
de la importació de tkinter *

#Crea un objecte per a la finestra
tkobj = Tk ( )

#Definiu el títol de la finestra
tkobj.title ( 'Aprèn mòdul tkinter' )

#Definiu l'alçada i l'amplada de la finestra
tkobj.geometria ( '400 x 150' )

#Definir l'objecte etiqueta
lbl = Etiqueta ( tkobj, text = 'Estableix el color de fons i primer pla' )
#Afegiu una etiqueta a la finestra
lbl.pack ( ipadx = 30 , ipads = 20 )

#Definiu l'objecte botó amb el color de fons i primer pla
btn = Botó ( tkobj, text = 'Clica'm' , fons = 'blau' , primer pla = 'vermell' )
#Afegeix el botó a la finestra amb la posició
btn.pack ( ipadx = 30 , ipads = 8 )

#Configureu la posició de visualització de la finestra de manera centralitzada
tkobj.eval ( 'tk::PlaceWindow . centre' )

#Executar el Tkinter
tkobj.mainloop ( )

Sortida:

Apareix la finestra següent després d'executar l'script:

Exemple 4: Ús de Frame

A l'script de Python següent, es mostren una etiqueta i dos botons dins d'un giny de marc. Creeu un fitxer Python amb l'script per comprovar la sortida:

#Importa el mòdul necessari
de la importació de tkinter *

#Crea un objecte per a la finestra
tkobj = Tk ( )

#Definiu el títol de la finestra
tkobj.title ( 'Mòdul tkinter' )

#Definiu l'alçada i l'amplada de la finestra
tkobj.geometria ( '250 x 100' )

#Definir objectes de marc
frm = marc ( tkobj )
frm.pack ( )
lframe = marc ( tkobj )
lframe.pack ( costat = ESQUERRA )
rframe = Marc ( tkobj )
rframe.pack ( costat = DRET )

#Definiu l'etiqueta dins del marc
lbl = Etiqueta ( frm, text = 'Ús del marc' , F g = 'blau' )
lbl.pack ( )

#Definiu botons dins del marc
btn1 = Botó ( lframe, text = '' , F g = 'negre' , bg = 'blanc' )
btn2.pack ( costat = DRET )

#Configureu la posició de visualització de la finestra de manera centralitzada
tkobj.eval ( 'tk::PlaceWindow . centre' )

#Executar el Tkinter
tkobj.mainloop ( )

Sortida:

La sortida següent apareix després d'executar l'script:

Exemple 5: Gestioneu l'esdeveniment del botó

L'ús del quadre de missatge es mostra a l'script següent. El quadre de missatge es mostra quan es fa clic en un botó:

#Importa els mòduls necessaris
de la importació de tkinter *
des de la caixa de missatges d'importació de tkinter

#Crea un objecte per a la finestra
tkobj = Tk ( )

#Definiu el títol de la finestra
tkobj.title ( 'Aprèn mòdul tkinter' )

#Definiu l'alçada i l'amplada de la finestra
tkobj.geometria ( '400 x 150' )

#Definiu una funció per mostrar un quadre de missatge
visualització def ( ) :
missatgebox.showinfo ( 'Informació' , 'Es fa clic al botó'. )

#Creeu un text d'etiqueta amb el color, l'estil i la posició de la font
Etiqueta ( tkobj, text = 'Aplicació d'escriptori que utilitza tkinter'. , F g = 'verd' ) .pack ( Paddy = 25 )

#Crea un botó amb un gestor de botons
Botó ( tkobj, text = 'Mostra el missatge' , comandament =visualització ) .pack ( )

#Configureu la posició de visualització de la finestra de manera centralitzada
tkobj.eval ( 'tk::PlaceWindow . centre' )

#Executar el Tkinter
tkobj.mainloop ( )

Sortida:

Apareix la finestra següent després d'executar l'script:

El següent quadre de missatge apareix després de prémer el botó:

Exemple 6: Preneu una entrada de l'usuari

Hi ha diversos ginys disponibles al mòdul tkinter per rebre una entrada de l'usuari. Els usos dels ginys més comuns es mostren a l'script següent. Creeu un fitxer Python amb el codi següent per comprovar la sortida:

#Importa els mòduls necessaris
de la importació de tkinter *
des de la caixa combinada d'importació de tkinter.ttk
des de tkinter import ttk
importar tkinter com tk
des de la caixa de missatges d'importació de tkinter

#Crea un objecte tkinter
tkobj = Tk ( )

#Definiu el títol de la finestra
tkobj.title ( 'Formulari d'informació de l'usuari' )

#Definiu l'alçada i l'amplada de la finestra
tkobj.geometria ( '550 x 320' )

#Definiu una funció per mostrar els valors del formulari
def display_values ( ) :
#Llegir text d'una sola línia
nom = 'Nom : ' + name_val.get ( ) + ' \n '
#Llegir el valor del botó d'opció seleccionat
si gènere.obtenir ( ) == 1 :
g = 'Masculí'
altra cosa:
g = 'Dona'
g = 'Gènere:' + g + ' \n '

#Llegir els valors de la casella de selecció seleccionats
joc = ''
si g1.obté ( ) == 1 :
joc = 'Cricket'
si g2.obté ( ) == 1 :
si joc ! = '' :
joc += ', ' + 'Futbol'
altra cosa:
joc = 'Futbol'
si g3.obté ( ) == 1 :
si joc ! = '' :
joc += ', ' + 'bàsquet'
altra cosa:
joc = 'bàsquet'
joc = 'Joc:' + joc + ' \n '

#Llegiu els valors de la caixa combinada
país = 'País:' + countryVal.get ( ) + ' \n '
#Llegiu el text de diverses línies
adreça = 'Adreça : ' + addr.get ( '1.0' , 'final' ) + ' \n '
#Combina tots els valors que prenen els camps
form_values ​​= nom + g + joc + país + adreça
#Mostra els valors al quadre de missatge
missatgebox.showinfo ( 'Detalls de la informació de l'usuari' , valors_formularis )


#Crea una etiqueta i el camp de nom
Etiqueta ( tkobj, text = 'Nom : ' ) .lloc ( x = 100 , i = 20 )
name_val = StringVar ( )
ttk.Entrada ( tkobj, variable de text =nom_val ) .pack ( Padx = 220 , Paddy = 20 )

#Crea una etiqueta i el botó d'opció
Etiqueta ( tkobj, text = 'Gènere:' ) .lloc ( x = 100 , i = 60 )
gènere = IntVar ( )
conjunt.de.gènere ( 1 )
Botó de ràdio ( tkobj, text = 'Masculí' , variable = gènere, valor = 1 ) .lloc ( x = 210 , i = 60 )
Botó de ràdio ( tkobj, text = 'Dona' , variable = gènere, valor = 2 ) .lloc ( x = 290 , i = 60 )

#Crea una etiqueta i un botó de casella de selecció
Etiqueta ( tkobj, text = 'Joc preferit:' ) .lloc ( x = 100 , i = 100 )
g1 = IntVar ( )
g2 = IntVar ( )
g3 = IntVar ( )
Botó de verificació ( tkobj, text = 'Cricket' , variable =g1 ) .lloc ( x = 210 , i = 100 )
Botó de verificació ( tkobj, text = 'Futbol' , variable =g2 ) .lloc ( x = 290 , i = 100 )
Botó de verificació ( tkobj, text = 'bàsquet' , variable =g3 ) .lloc ( x = 380 , i = 100 )

#Definiu valors de tuple
dades = ( 'Bangla Desh' , 'Japó' , 'EUA' )
#Crea una etiqueta i una caixa combinada
Etiqueta ( tkobj, text = 'País:' ) .lloc ( x = 100 , i = 140 )
countryVal = StringVar ( )
Quadre combinat ( tkobj, valors = dades, variable de text =paísVal ) .lloc ( x = 220 , i = 140 )

#Crea una etiqueta i un camp de text
Etiqueta ( tkobj, text = 'Adreça : ' ) .lloc ( x = 100 , i = 180 )
addr = ( tk.Text ( tkobj, alçada = 3 , amplada = 20 ) )
addr.place ( x = 220 , i = 180 )

#Crea un botó amb un gestor de botons
Botó ( tkobj, text = 'Presentar' , comandament =valors_de_visualització ) .lloc ( x = 250 , i = 250 )

#Executar el Tkinter
tkobj.mainloop ( )

Sortida:

Apareix la finestra següent després d'executar l'script:

Ompliu els camps del formulari i premeu el botó 'Enviar'.

Apareixerà el següent quadre de missatge amb els valors enviats:

Conclusió

Els mètodes d'utilització del mòdul tkinter de Python per crear les aplicacions GUI es mostren en aquest tutorial amb diversos exemples.