Indítsa el az asztali alkalmazások létrehozását a Pythonban a Tkinter GUI könyvtárával

Indítsa el az asztali alkalmazások létrehozását a Pythonban a Tkinter GUI könyvtárával

A Tkinter egy grafikus felhasználói felület (GUI) eszköztár, amelyet érdemes kipróbálni, ha szeretné felfedezni a Python erejét az asztali alkalmazások létrehozásában.





Itt megnézzük a Tkinter GUI modul alapjait.





hogyan lehet zenét letölteni az ipod -ról az iTunes -ra

Tkinter beállítás

Általában nem kell telepíteni tkinter külön, ha a Python későbbi verzióját telepítette, kezdve a Python 3 -mal. A könyvtár azonban nem működik a régi Python verziókkal. Ez gyakori probléma a Mac és Linux felhasználók számára, mivel ezek az operációs rendszerek általában alapértelmezés szerint a Python régebbi verzióival érkeznek.





Általában a tkinter modulban, győződjön meg arról, hogy a hivatalos személyről letöltötte és telepítette a Python legújabb kompatibilis verzióját python.org weboldal.

Ha Mac -et használ, akkor letöltheti az ActiveTcl legújabb verzióját, a tkinter fordító innen ActiveState .



A Tkinter használata

Tkinter függ a beépített TK osztály. És a GUI -n belüli összes eseményt a mainloop . Így a mainloop csomagoló teszi a tiéd tkinter végrehajtható kód.

A kezdéshez tkinter :





from tkinter import Tk
Tk().mainloop()

A fenti kód futtatása üres helyet eredményez tkinter keret.

A Tkinter testreszabási funkciói azonban a beépített kütyükben találhatók.





Ezeknek a moduloknak a használatához importálhatja őket tkinter cseréjével tkinter importból Tk val vel:

from tkinter import *
t = Tk()
t.mainloop()

Az ablak méretét a gombbal is beállíthatja geometria funkciót, majd a segítségével adjon meg egy címet cím widget tkinter :

t = Tk()
t.geometry('600x600')
t.title('Tk Tutorial')
t.mainloop()

Tkinter címke widget

A Tkinter segítségével egyszerű szövegeket írhat közvetlenül a grafikus felületre a Címke widget:

t = Tk()
Label(t, text = 'MUO Tkinter tutorial').grid()
t.mainloop()

Az rács() módszer azonban alternatívája a csomag() módszer. Ragasztja a widgeteket a grafikus felülethez, láthatóvá téve azokat.

A betűtípust is megadhatja Címke szöveg:

t = Tk()
Label(t, text = 'MUO Tkinter tutorial', font=(60)).grid()
t.mainloop()

Munka a gomb widgetekkel a Tkinterben

A gombok a leggyakrabban használt kütyük tkinter . Ezeket a kattintható gombokat hozzáadhatja grafikus felhasználói felületéhez a különféle beépített gombok segítségével.

A következőképpen adhat hozzá elsődleges gombot a grafikus felhasználói felülethez a Gomb widget:

t = Tk()
Button(t, text = 'Clickable', bg = 'black', fg = 'white').grid()
t.mainloop()

Az bg és fg kulcsszavak leírják a gomb háttérszínét, illetve a benne található szöveg színét.

A gomb méretét a magasság és szélesség paraméterek:

t = Tk()
Button(t, text = 'Clickable', bg = 'black', fg = 'white', , ).grid()
t.mainloop()

Itt a kimenet ehhez:

hogyan továbbíthatom automatikusan a szöveges üzeneteket az e -mail címemre?

Ha pedig vizuálisan vonzóbbá szeretné tenni a gombot, akkor a megkönnyebbülés kulcsszót, majd állítsa be a szegély szélességét:

t = Tk()
Button(t, text='Clickable', bg='blue', fg='white',
height=2, width=10, relief=RAISED, borderwidth=6).grid()
t.mainloop()

És ez így néz ki:

Cserélje ki EMELT val vel LAKÁS hogy lássam, hogyan jön ez át.

Annyi gombot adhat hozzá, amennyit csak akar. De ügyeljen arra, hogy elkerülje a tartalom átfedését.

Az átfedések elkerülése érdekében megadhatja az egyes gombok sor- és oszloppozícióját:

t = Tk()
Button(t, text=1, bg='black', fg='white').grid(row=1, column=1)
Button(t, text=2, bg='black', fg='white').grid(row=2, column=1)
Button(t, text=3, bg='black', fg='white').grid(row=3, column=1)
Button(t, text=4, bg='black', fg='white').grid(row=4, column=1)
t.mainloop()

Opcionális parancs kulcsszó azonban eseményeket ad hozzá a Gomb widget. Lényegében egy opcionális funkciót rögzít, amely bizonyos eseményeket kezel, ha rákattint egy gombra.

Például az alábbi kód megszorozza az egyes gombok értékét 6 -tal, amikor rákattint. És ez egy előre meghatározott függvényen alapul:

def buttonpress(r):
r = 6*r
Label(t, text=r, font=(60)).grid(row=5, column=2)
t = Tk()
Button(t, text = 1, bg = 'black', fg = 'white', width = 10, height = 2,
command = lambda:buttonpress(1)).grid(row=1, column = 1, pady = 6)
Button(t, text = 2, bg = 'black', fg = 'white', width = 10,
command = lambda:buttonpress(2)).grid(row = 2, column = 1, pady = 6)
Button(t, text = 3, bg = 'black', fg = 'white', width = 10,
command = lambda:buttonpress(3)).grid(row = 3, column = 1, pady = 6)
Button(t, text = 4, bg = 'black', fg = 'white', width = 10,
command = lambda:buttonpress(4)).grid(row = 4, column = 1, pady = 6)
t.mainloop()

A fenti kódban, gombnyomás kezeli a szorzási eseményt. Az Gomb widget ezután az eseménykezelőre mutat egy névtelen használatával lambda funkció.

És ha aggódik a párnák kulcsszót, egyértelműen elkülöníti a sor minden gombját. Ezt helyettesítve ezzel padx elválasztja a gombokat az oszlopon. Mindkét kulcsszót egyszerre használhatja, hogy elválassza a gombokat mindkét tengelyen, ahogy szeretné.

Ennek ellenére nem szeretné újból feltalálni a kereket minden gombhoz, mint az előző kódban. Ez lelassítja a végrehajtási időt, ráadásul megnehezíti a kód olvasását és szűkítését.

De megteheted használjon for for hurkot hogy elkerülje ezt az ismétlést.

Tehát itt van a fenti kód rövidebb és jobb változata:

def buttonpress(r):
r = 6*r
Label(t, text = r, font = (60)).grid(row = 5, column = 2)
t = Tk()
a = [1, 4, 6, 7]
for i in a:
j = lambda y = i:buttonpress(y)
Button(t, text = i, bg = 'black', fg = 'white', width = 10, height = 2,
command=j).grid(row = i, column = 1, pady = 6)
t.mainloop()

Fedezzük fel tovább az erejét számára hurok menügombok hozzáadásához a grafikus felülethez:

from tkinter import *
t = Tk()
buttons = ['Files', 'Dashboard', 'Menu', 'Settings', 'Help']
m = 0
for i in range(len(buttons)):
# Get each text in the buttons array using a list index as m increases.
# Then let the column increase by 1 through the length of the array:

Menubutton(t, text=buttons[m], bg='blue', fg='white').grid(row=5, column=i)
m += 1
t.mainloop()

Az ellenőrző gombok hozzáadása a grafikus felülethez szintén nagyon egyszerű:

t = Tk()
Checkbutton(t, text = 'Select option').grid()
t.mainloop()

Nyugodtan megszorozhatja ezt a pipa gombot a segítségével számára hurok, mint korábban.

Hogyan hozzunk létre egy legördülő menüt a Tkinter menü widgetjével

Az Menü widget segítségével kattintható legördülő menüket tervezhet tkinter .

Amint azt korábban említettük, tkinter számos widget lehetőséget kínál. És néhányat használni fog a legördülő menü tervezésekor.

Íme néhány gyakori widgetek közül, amelyekkel legördülő menüben találkozhat:

  • add_cascade: Megjeleníti a menücímkét, és odaragasztja, ahová tartozik.
  • add_separator: Határozza meg az almenüket, és csoportosítja őket felső és alsó almenükbe.
  • add_command: Itt adja meg az almenü nevét. Végül elfogad egy parancs argumentumot, ahol megadhat egy eseménykezelőt.

Íme egy legördülő példa, amely ezt a három lehetőséget használja:

from tkinter import *
t = Tk()
fileOptions = ['New', 'open', 'Save', 'Save as']
fileOptionsAfterseparator = ['Import', 'Export', 'Exit']
viewOptions = ['Transform', 'Edit', 'Create']
menuBar = Menu(t)
file = Menu(menuBar, tearoff=0)
for i in fileOptions:
file.add_command(label=i, command=None)
file.add_separator()
for i in fileOptionsAfterseparator:
file.add_command(label=i, command=None)
menuBar.add_cascade(label='File', menu=file)
View = Menu(menuBar, tearoff=0)
for i in viewOptions:
View.add_command(label=i, command=None)
menuBar.add_cascade(label='View', menu=View)
t.config(menu=menuBar)
t.mainloop()

Nézze meg, hogyan néz ki:

Tkinter Beállítások menü

An Opciómenü , ellentétben a Menü legördülő menüben a kiválasztott opcióra váltja a címkét.

Bár megadhat egy alapértelmezett címkeértéket a beállítások menüjében, alapértelmezés szerint nincs címke.

Összefüggő: Python projektötletek kezdőknek

Az alábbiakban bemutatjuk, hogyan hozhat létre beállítási menüt tkinter :

t = Tk()
Omenu = StringVar() #set the variable type of the options
Omenu.set('MUO') #specify a default value for the menu icon
OptionMenu(t, Omenu, 'MUO', 'Amazon', 'Tutorial').grid()
t.mainloop()

Készítsen újrafelhasználható asztali alkalmazást a Tkinter segítségével

A Tkinter számos olyan funkciót kínál, amelyek segítenek interaktív grafikus felhasználói felületű asztali alkalmazások létrehozásában. Bár nem sok rugalmas szépítő funkcióval rendelkezik, mint néhány más Python GUI modul, mégis hasznos eszköz, amelyet érdemes felfedezni. És bár a példák csak néhány alapfogalmat mutatnak be, tkinter fejlettebb funkciókat kínál, amelyeket kipróbálhat.

filmnézés online ingyen regisztráció nélkül

Ennek ellenére létrehozhat GUI asztali számológépet, készíthet mini szövegszerkesztőt, vagy akár létrehozhat GUI asztali alkalmazást a készletek kezelésére. Ha szeretné széttárni szárnyait, és asztali GUI szakemberré válni, megnézheti a Python más GUI moduljait is.

Részvény Részvény Csipog Email GUI? Mi az a grafikus felhasználói felület?

GUI -t használ? Van esélye, mert minden nap használja őket.

Olvassa tovább
Kapcsolódó témák
  • Programozás
  • Piton
A szerzőről Idisou Omisola(94 cikk megjelent)

Idowu szenvedélyes minden intelligens technológia és termelékenység iránt. Szabadidejében kódolással játszik, és ha unatkozik, sakktáblára vált, de szeret időnként elszakadni a rutintól. Szenvedélye, hogy megmutassa az embereknek a modern technológia körüli utat, arra ösztönzi, hogy többet írjon.

Továbbiak Idowu Omisola -tól

Iratkozzon fel hírlevelünkre

Csatlakozz hírlevelünkhöz, ahol technikai tippeket, értékeléseket, ingyenes e -könyveket és exkluzív ajánlatokat találsz!

Feliratkozáshoz kattintson ide