Šajā apmācībā mēs to ievietosim Piemēri GUI lietojumprogrammu ieviešanai Python, ir daudz moduļu darbam ar grafisko interfeisu, šeit mēs esam izvēlējušies Tkinter, jo tas ir iepriekš instalēts kopā ar Python un tas palīdzēs mums redzēt, kā mēs strādājam šādā veidā, lai gan beigās mēs redzēsim nelielu piemēru PyQt.
Varam pārbaudīt, vai Tkinter modulis ir pareizi uzstādīts, izmantojot:
python -m tkinterPiezīmePython 2 tas būtu pirmais lielais burts t: Tkinter, jo Python 3 tas tika pārdēvēts.
Ja tas ir pareizi instalēts, mēs redzēsim, ka tiek parādīts šāds logs:
Ja mēs neredzēsim kļūdu, tas norādīs, ka nevar atrast šo moduli:
Lai instalētu moduli Python 3 Debian distribūcijās:
sudo apt-get install python3-tkPar citām versijām skatiet šo saiti. Apmācība ir vērsta uz to, lai sniegtu pirmo iespaidu par darbu ar GUI Python. Ja esat jauns šajā tēmā, tad tā jums palīdzēs, ja meklējat padziļinātas tēmas, šī nav īstā apmācība.
PiezīmeŠeit mēs strādāsim ar Python 3, mēs importējam bibliotēku šādi:
importēt tkinterTomēr Python 2 jums tas jāimportē šādi, mēs jau runājām par tā pārdēvēšanu:
importēt Tkinter
Mēs sāksim apmācības piemēru ar piemēru, mēs sāksim ar vienkāršāko un beigās sarežģīsim.
1. piemērs
Mēs tam izveidosim vienkāršu logu, uzrakstīsim šādu kodu:
importēt tkintera logu = tkinter.Tk () logs = tkinter.mainloop ()Ar pirmo rindu mēs importējam nepieciešamo moduli, nākamais izveido galveno logu, un, ja mēs noņemam pēdējo norādījumu, logs netiks redzams, izpildot kodu. Piemēra rezultāts:
Šis piemērs ir bijis ļoti garš, 3 rindas … Pāriesim pie nākamās.
2. piemērs
Šajā piemērā, kas nav daudz garāks par iepriekšējo, mēs izveidosim logu, kā mēs to darījām 1. piemērā, bet mēs to nedaudz konfigurēsim, mēs mainīsim krāsu, izmēru un nosaukumu.
importēt tkinter kā tk window = tk.Tk () window.config (bg = "blue") window.geometry ("400x300") window.title ("Example2") window.mainloop ()Pirmā rinda joprojām importē tkinter moduli, bet mēs tam piešķiram aizstājvārdu, lai mēs varētu kodā izmantot īsāku vārdu. Mēs izveidosim logu tāpat kā iepriekšējā piemērā. Nākamās 3 rindas sakārtos krāsu, izmēru un nosaukumu. Pēdējā rinda, ko mēs jau zinām. Piemēra rezultāts ir šāds:
Līdz šim viss ir bijis ļoti vienkārši, turpināsim ar citiem piemēriem.
3. piemērs
Tagad mēs galvenajā logā izveidosim pogu, kas arī mūs nesarežģīs, redzēsim kodu:
importēt tkinter kā tk window = tk.Tk () window.geometry ("200x150") button = tk.Button (window, text = "Testing") button.grid (row = 1, column = 1) window.mainloop ()Vienīgās rindiņas, kurām nepieciešams paskaidrojums, ir šādas:
button = tk.Button (window, text = "Testing") button.grid (rinda = 1, kolonna = 1)Pirmais izveido pogu ar nosaukumu Testing (pogu), un mēs to piešķiram logs, kas ir mūsu galvenā loga mainīgais. Otrajā vietā poga atrodas rindā un kolonnā 1. Izpilde parādīs mums sekojošo:
Poga ir vienkārši parādīta, tā nedarbojas, jo tā neapkalpo notikumus, mēs to darīsim nākamajā piemērā.
4. piemērs
Tagad mēs apmeklēsim pasākumu, lai atvērtu otru logu, kas nebūs galvenais, apskatīsim kodu:
importēt tkinter kā tk def open (): window2 = tk.Toplevel (window) window = tk.Tk () window.geometry ("200x150") button = tk.Button (window, text = "Open", command = open) button.grid (rinda = 1, kolonna = 1) window.mainloop ()Mēs redzēsim jaunās rindas, atvērtajai funkcijai būs šāda instrukcija, kas izveidos galvenā loga “bērnu”.
logs2 = tk. Augstākais līmenis (logs)Un pogai ir nelielas izmaiņas, ievērojiet komandu, ir izpildīt funkciju, šajā gadījumā izsaukt funkciju atvērts:
poga = tk.Button (logs, text = "Open", command = open)Pārejam pie piemēra ar klasi.
5. piemērs
Šis ir pēdējais piemērs, un tas būs garākais, mēs izveidosim klasi, lai darītu kaut ko citu. Tas, ko mēs darīsim, ir mazs logs, kura lielumu nevar mainīt, tam būs teksta etiķete un poga, katru reizi, kad nospiežam pogu, skaitlis palielināsies. Pāriesim pie koda:
importēt tkinter kā tk klasi Lietojumprogramma (): counter = 1 def __init __ (self): self.window = tk.Tk () self.window.geometry ("300x60") self.window.title ("5. piemērs") self . window.resizable (width = False, height = False) self.createButton () self.createLabel () self.window.mainloop () def createButton (self): self.button = tk.Button (self.window, text = "Palielināt", komanda = self.increase) self.button.pack () def createLabel (self): self.tag = tk.Label (self.window, text = "0", fg = "blue") self.tag . pack (pady = 10) def palielināt (self): self.tag ["text"] = self.counter self.counter + = 1 app = Application ()Funkcijā __tajā__ mēs izveidosim logu un konfigurēsim to papildus funkciju izsaukšanai createButton Y createLabel lai mēs ticētu šiem elementiem. Ja mēs esam redzējuši iepriekšējos piemērus, tas nedrīkst radīt sarežģījumus vai šaubas. Sākot programmu, mums ir logs ar numuru 0:
Ja mēs noklikšķinām uz pogas, skaitlis palielinās, piemēram, pēc noklikšķināšanas 25 reizes, mēs iegūstam sekojošo:
Šajā apmācībā mēs esam redzējuši tkinter moduļa pamatus, jūs varēsit izveidot daudz vairāk lietu, ja jūs interesē padziļināšana šeit, jums ir saite uz oficiālo Python lapu, kurā viņi runā par tkinter.
Jums ir citas Python bibliotēkas, ar kurām varat programmēt grafiskās saskarnes, kā teikts sākumā, dažas no tām ir:
- PyGTK
- wxPython
- PyQT
Lai jūs varētu nedaudz salīdzināt tkinter ar citu moduli, mēs sniegsim PyQt piemēru.
Piemērs ar PyQT
Lai palaistu šo piemēru jums būs jāinstalē bibliotēka, varat apmeklēt iepriekš ievietoto saiti. Mēs izveidosim logu ar izmēru 275x200 un ar nosaukumu PyQt4 Piemērs. Tas parādīsies arī pozīcijā 300x300
importēt sistēmu no PyQt4 importēt QtGui lietojumprogrammu = QtGui.QApplication (sys.argv) logs = QtGui.QWidget () window.resize (275, 200) window.move (300, 300) window.setWindowTitle ('PyQt4 Piemērs') logs. rādīt () sys.exit (application.exec_ ())Izpildot kodu, mēs iegūstam šādu izvadi:
Nekas sarežģīts, kā tas tika novērots visā apmācībā, mēs varētu turpināt minēt piemērus, jo ir daudz ko pieskarties, bet ar ievadu tas jau sagatavo jūs, lai jūs varētu praktizēt savu piemēru izveidi, pievienojot citus elementus, piemēram, sarakstus, teksta kastes, kur rakstīt utt.
Vai jums patika šī apmācība un palīdzējāt tai?Jūs varat apbalvot autoru, nospiežot šo pogu, lai sniegtu viņam pozitīvu punktu