Aloita työpöytäsovellusten luominen Pythonissa Tkinter GUI -kirjaston avulla

Aloita työpöytäsovellusten luominen Pythonissa Tkinter GUI -kirjaston avulla

Tkinter on graafisen käyttöliittymän (GUI) työkalupakki, jota kannattaa kokeilla, jos haluat tutkia Pythonin tehoa työpöytäsovellusten luomisessa.





Täällä katsomme Tkinter GUI -moduulin perusasioita.





miten osx asennetaan usb: lta

Tkinterin asetukset

Yleensä sinun ei tarvitse asentaa tkinter erikseen, jos olet asentanut Pythonin uudemman version alkaen Python 3. Kirjasto ei kuitenkaan välttämättä toimi vanhojen Python -versioiden kanssa. Tämä on yleinen ongelma Mac- ja Linux -käyttäjille, koska nämä käyttöjärjestelmät sisältävät yleensä oletusarvoisesti vanhemmat Python -versiot.



Yleensä käyttää tkinter Varmista, että lataat ja asennat uusimman yhteensopivan Python -version tietokoneellesi virkailijalta python.org verkkosivusto.

Jos käytössäsi on Mac, voit vaihtoehtoisesti ladata ActiveTcl: n uusimman version, a tkinter kääntäjä ActiveState .



Tkinterin käyttö

Tkinter riippuu sen sisäänrakennetusta TK luokka. Ja se kiteyttää kaikki graafisen käyttöliittymän tapahtumat a mainloop . Näin ollen mainloop kääre tekee sinun tkinter suoritettava koodi.

Aloittaaksesi tkinter :





from tkinter import Tk
Tk().mainloop()

Yllä olevan koodin suorittaminen tyhjenee tkinter runko.

Tkinterin räätälöintiominaisuudet ovat kuitenkin sisäänrakennettuissa widgeteissä.





Voit käyttää näitä widgettejä tuomalla ne tkinter korvaamalla tkinterin tuonnista Tk kanssa:

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

Voit myös säätää ikkunan kokoa geometria -toimintoa ja määritä sitten otsikko käyttämällä otsikko widget tkinter :

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

Tkinter Label -widget

Tkinterin avulla voit kirjoittaa tavallisia tekstejä suoraan käyttöliittymään käyttämällä Etiketti widget:

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

The ruudukko () menetelmä on kuitenkin vaihtoehto pakkaus() menetelmä. Se kiinnittää widgetisi graafiseen käyttöliittymään ja tekee niistä näkyvän.

Voit myös määrittää fontin Etiketti teksti:

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

Painikewidgetien käyttö Tkinterissä

Painikkeet ovat joitakin eniten käytetyistä widgetteistä tkinter . Ja voit lisätä nämä napsautettavat painikkeet käyttöliittymään käyttämällä erilaisia ​​sisäänrakennettuja painikewidgettejä.

Näin voit lisätä ensisijaisen painikkeen käyttöliittymään käyttämällä Painike widget:

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

The bg ja fg avainsanat kuvaavat painikkeen taustaväriä ja siinä olevan tekstin väriä.

Voit myös säätää painikkeen kokoa sisällyttämällä korkeus ja leveys parametrit:

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

Tässä on tulos siitä:

verkkosivustoja, joilla voi ostaa halpoja asioita verkossa

Ja jos haluat tehdä painikkeesta visuaalisesti houkuttelevamman, voit lisätä a helpotus avainsana ja säädä sen reunuksen leveyttä:

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

Ja se näyttää tältä:

Korvata KASVATETTU kanssa FLAT nähdäkseni miten se menee läpi.

Voit lisätä niin monta painiketta kuin haluat. Mutta ole varovainen välttääksesi sisällön päällekkäisyyttä.

Päällekkäisyyden välttämiseksi voit määrittää rivin ja sarakkeen sijainnin kullekin painikkeelle:

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()

Valinnainen komento avainsana lisää kuitenkin tapahtumia Painike widget. Pohjimmiltaan se ankkuroi valinnaisen toiminnon, joka käsittelee tiettyjä tapahtumia, kun napsautat painiketta.

Esimerkiksi alla oleva koodi kertoo jokaisen painikkeen arvon 6: lla, kun napsautat sitä. Ja se perustuu ennalta määritettyyn toimintoon:

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()

Yllä olevassa koodissa painikkeen painallus käsittelee kertolaskua. The Painike widget osoittaa sitten tapahtumankäsittelijälle nimettömänä lambda toiminto.

Ja jos olet huolissasi tyynyt avainsana, se erottaa selvästi kaikki painikkeet rivin poikki. Tämän korvaaminen padx erottaa painikkeet sarakkeen poikki. Ja voit käyttää molempia avainsanoja samanaikaisesti erottaaksesi painikkeet molemmilta akseleilta haluamallasi tavalla.

Et kuitenkaan halua keksiä pyörää uudelleen jokaiselle painikkeelle kuten edellisessä koodissa. Tämä hidastaa suoritusaikaa ja vaikeuttaa koodin lukemista ja kaventamista.

Mutta sinä voit käytä silmukkaa tämän toistumisen välttämiseksi.

Joten tässä on lyhyempi ja parempi versio yllä olevasta koodista:

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()

Tutkitaanpa lisää sen voimaa varten silmukka lisätäksesi valikkopainikkeita käyttöliittymään:

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()

Tarkista painikkeiden lisääminen graafiseen käyttöliittymään on myös melko helppoa:

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

Voit vapaasti monistaa kyseisen tarkistuspainikkeen käyttämällä varten silmukka, kuten teimme aiemmin.

Pudotusvalikon luominen Tkinterin valikko -widgetillä

The Valikko widgetin avulla voit suunnitella avattavia avattavia valikoita tkinter .

Kuten aiemmin todettiin, tkinter tarjoaa monia widget -vaihtoehtoja. Ja käytät joitain niistä avattavan valikon suunnittelussa.

Tässä on joitain yleisimpiä widget -vaihtoehtoja, joita törmäät avatessasi:

  • add_cascade: Se näyttää valikkotarran ja kiinnittää sen sinne, minne se kuuluu.
  • add_separator: Se rajaa alivalikot ja ryhmittelee ne ylempiin ja alempiin alivalikoihin.
  • add_command: Tässä annat alivalikollesi nimen. Lopulta se hyväksyy komentoargumentin, jossa voit määrittää tapahtumakäsittelijän.

Tässä on avattava esimerkki, joka käyttää näitä kolmea vaihtoehtoa:

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()

Katso miltä se näyttää:

Tkinter Options -valikko

An Vaihtoehto -valikko , toisin kuin Valikko pudotusvalikosta, vaihtaa tarran valittuun vaihtoehtoon.

Vaikka voit määrittää oletusarvon arvon asetusvalikolle, sillä ei ole oletusarvoisesti tunnistetta.

Aiheeseen liittyviä: Python -projektiideat sopivat aloittelijoille

Näin voit luoda asetusvalikon 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()

Luo uudelleenkäytettävä työpöytäsovellus Tkinterin avulla

Tkinter tarjoaa joukon ominaisuuksia, joiden avulla voit luoda interaktiivisia graafisia käyttöliittymäsovelluksia. Vaikka siinä ei ehkä ole monia joustavia kaunistusominaisuuksia, kuten jotkut muut Python GUI -moduulit, se on silti kätevä työkalu, joka kannattaa tutkia. Ja vaikka tässä olevat esimerkit osoittavat vain joitain peruskäsitteitä, tkinter tarjoaa kehittyneempiä ominaisuuksia, joita voit kokeilla.

Windows 10 -sähköpostisovellus vs Outlook

Voit kuitenkin rakentaa GUI -työpöytälaskurin, tehdä pienen tekstieditorin tai jopa luoda GUI -työpöytäsovelluksen varastosi hallintaan. Jos haluat laajentaa siipiäsi ja tulla työpöydän GUI -pääaineeksi, voit jopa tutustua muihin Pythonin GUI -moduuleihin.

Jaa Jaa Tweet Sähköposti GUI? Mikä on graafinen käyttöliittymä?

Käytätkö graafista käyttöliittymää? Mahdollisuuksia sinulla on, koska käytät niitä joka päivä.

Lue seuraava
Liittyvät aiheet
  • Ohjelmointi
  • Python
Kirjailijasta Idisou Omisola(94 artikkelia julkaistu)

Idowu on intohimoinen kaikkeen älykkääseen tekniikkaan ja tuottavuuteen. Vapaa -ajallaan hän leikkii koodauksella ja vaihtaa shakkilaudalle, kun on kyllästynyt, mutta hän myös rakastaa irtautumista rutiinista silloin tällöin. Hänen intohimonsa näyttää ihmisille tie modernin tekniikan ympärillä motivoi häntä kirjoittamaan enemmän.

Lisää Idowu Omisolasta

tilaa uutiskirjeemme

Liity uutiskirjeeseemme saadaksesi teknisiä vinkkejä, arvosteluja, ilmaisia ​​e -kirjoja ja ainutlaatuisia tarjouksia!

Klikkaa tästä tilataksesi