logo

Python Tkinter

Python piedāvā vairākas iespējas GUI (grafiskā lietotāja interfeisa) izstrādei. No visām GUI metodēm tkinter ir visbiežāk izmantotā metode. Tā ir standarta Python saskarne ar Tk GUI rīku komplektu, kas tiek piegādāts kopā ar Python. Python Tkinter ir ātrākais un vienkāršākais veids, kā izveidot GUI lietojumprogrammas. GUI izveide, izmantojot Tkinter, ir vienkāršs uzdevums.

Satura rādītājs

Lai izveidotu Tkinter Python lietotni, veiciet šīs pamata darbības:



  1. Importējiet tkinter moduli : Tas tiek darīts tāpat kā jebkura cita moduļa importēšana Python . Ņemiet vērā, ka Python 2.x modulis ir nosaukts par 'Tkinter', savukārt Python 3.x tas ir nosaukts par 'tkinter'.
  2. Izveidojiet galveno logu (konteineru) : galvenais logs kalpo kā konteiners visiem GUI elementiem, ko pievienosit vēlāk.
  3. Pievienojiet logrīkus galvenajam logam : galvenajam logam varat pievienot jebkādu skaitu logrīku, piemēram, pogas, etiķetes, ievades laukus utt., lai izveidotu interfeisu pēc vēlēšanās.
  4. Lietojiet notikumu aktivizētājus logrīkiem : logrīkiem varat pievienot notikumu aktivizētājus, lai noteiktu, kā tie reaģē uz lietotāja mijiedarbību.

Izveidojiet pirmo Tkinter GUI lietojumprogrammu

Ir divas galvenās izmantotās metodes, kuras lietotājam ir jāatceras, veidojot Python lietojumprogrammu ar GUI.

'masona formula'

Tk()

Lai izveidotu galveno logu, tkinter piedāvā metodi 'Tk(screenName=None, baseName=None, className='Tk', useTk=1)'. Lai mainītu loga nosaukumu, varat mainīt klases nosaukumu uz vēlamo. Lietojumprogrammas galvenā loga izveidošanai izmantotais pamatkods ir:

mainloop()

Ir metode, kas pazīstama ar nosaukumu mainloop(), tiek izmantota, kad jūsu lietojumprogramma ir gatava darbībai. mainloop() ir bezgalīga cilpa, ko izmanto, lai palaistu lietojumprogrammu, gaidītu, līdz notiek notikums, un apstrādātu notikumu, kamēr logs nav aizvērts.

Piemērs

Python3
import tkinter m = tkinter.Tk() ''' widgets are added here ''' m.mainloop()>

Izvade

img

Tkinter logrīks

Ir vairāki logrīki, kurus varat ievietot savā tkinter lietojumprogrammā. Daži no galvenajiem logrīkiem ir izskaidroti tālāk:

1. Etiķete

Tas attiecas uz displeja lodziņu, kurā varat ievietot jebkuru tekstu vai attēlu, ko jebkurā laikā var atjaunināt atbilstoši kodam. Vispārējā sintakse ir šāda:

w=Label(master, option=value) master is the parameter used to represent the parent window.>
Python3
from tkinter import * root = Tk() w = Label(root, text='GeeksForGeeks.org!') w.pack() root.mainloop()>

Izvade

etiķete

2. Poga

Lai lietojumprogrammai pievienotu pogu, tiek izmantots šis logrīks. Vispārējā sintakse ir šāda:

w=Button(master, option=value)>

master ir parametrs, ko izmanto, lai attēlotu vecāklogu. Ir vairākas iespējas, kas tiek izmantotas, lai mainītu pogu formātu. Opciju skaitu var nodot kā parametrus, atdalot tos ar komatiem.Python3>

>
>

import tkinter as tk r = tk.Tk() r.title('Counting Seconds') button = tk.Button(r, text='Stop', width=25, command=r.destroy) button.pack() r.mainloop()>


Izvade


3. Ieeja

To izmanto, lai ievadītu vienas rindiņas teksta ievadi no lietotāja. Vairāku rindiņu teksta ievadei tiek izmantots teksta logrīks. Vispārējā sintakse ir šāda:

w=Entry(master, option=value)>

master ir parametrs, ko izmanto, lai attēlotu vecāklogu. Ir vairākas iespējas, kas tiek izmantotas, lai mainītu logrīka formātu. Opciju skaitu var nodot kā parametrus, atdalot tos ar komatiem. Daži no tiem ir uzskaitīti zemāk.

Python3
from tkinter import * master = Tk() Label(master, text='First Name').grid(row=0) Label(master, text='Last Name').grid(row=1) e1 = Entry(master) e2 = Entry(master) e1.grid(row=0, column=1) e2.grid(row=1, column=1) mainloop()>

Izvade

java sugas

4. Pārbaudes poga

Lai atlasītu neierobežotu skaitu opciju, lietotājam parādot vairākas opcijas kā pārslēgšanas pogas. Vispārējā sintakse ir šāda:

w = CheckButton(master, option=value)>

Ir vairākas iespējas, kas tiek izmantotas, lai mainītu šī logrīka formātu. Opciju skaitu var nodot kā parametrus, atdalot tos ar komatiem. Daži no tiem ir uzskaitīti zemāk.

Python3
from tkinter import * master = Tk() var1 = IntVar() Checkbutton(master, text='male', variable=var1).grid(row=0, sticky=W) var2 = IntVar() Checkbutton(master, text='female', variable=var2).grid(row=1, sticky=W) mainloop()>

Izvade



5. Radio poga

To izmanto, lai piedāvātu lietotājam vairākas izvēles iespējas. Lietotājam tiek piedāvātas vairākas iespējas, un lietotājam ir jāizvēlas viena iespēja. Vispārējā sintakse ir šāda:

w = RadioButton(master, option=value)>

Ir vairākas iespējas, kas tiek izmantotas, lai mainītu šī logrīka formātu. Opciju skaitu var nodot kā parametrus, atdalot tos ar komatiem. Daži no tiem ir uzskaitīti zemāk.

Python3
from tkinter import * root = Tk() v = IntVar() Radiobutton(root, text='GfG', variable=v, value=1).pack(anchor=W) Radiobutton(root, text='MIT', variable=v, value=2).pack(anchor=W) mainloop()>

Izvade

6. Listbox

Tas piedāvā lietotājam sarakstu, kurā lietotājs var pieņemt jebkādu skaitu opciju. Vispārējā sintakse ir šāda:

w = Listbox(master, option=value) master is the parameter used to represent the parent window.>

Ir vairākas iespējas, kas tiek izmantotas, lai mainītu logrīka formātu. Opciju skaitu var nodot kā parametrus, atdalot tos ar komatiem. Daži no tiem ir uzskaitīti zemāk.

Python3
from tkinter import * top = Tk() Lb = Listbox(top) Lb.insert(1, 'Python') Lb.insert(2, 'Java') Lb.insert(3, 'C++') Lb.insert(4, 'Any other') Lb.pack() top.mainloop()>

Izvade


7. Ritjosla

Tas attiecas uz slaidu kontrolleri, kas tiks izmantots uzskaitīto logrīku ieviešanai. Vispārējā sintakse ir šāda:

w = Scrollbar(master, option=value) master is the parameter used to represent the parent window.>

Ir vairākas iespējas, kas tiek izmantotas, lai mainītu logrīka formātu. Opciju skaitu var nodot kā parametrus, atdalot tos ar komatiem. Daži no tiem ir uzskaitīti zemāk.

Python3
from tkinter import * root = Tk() scrollbar = Scrollbar(root) scrollbar.pack(side=RIGHT, fill=Y) mylist = Listbox(root, yscrollcommand=scrollbar.set) for line in range(100): mylist.insert(END, 'This is line number' + str(line)) mylist.pack(side=LEFT, fill=BOTH) scrollbar.config(command=mylist.yview) mainloop()>

Izvade

8. Izvēlne

To izmanto, lai izveidotu visu veidu izvēlnes, ko izmanto lietojumprogramma. Vispārējā sintakse ir šāda:

w = Menu(master, option=value) master is the parameter used to represent the parent window.>

Ir vairākas iespējas, kas tiek izmantotas, lai mainītu šī logrīka formātu. Opciju skaitu var nodot kā parametrus, atdalot tos ar komatiem. Daži no tiem ir uzskaitīti zemāk.

Python3
from tkinter import * root = Tk() menu = Menu(root) root.config(menu=menu) filemenu = Menu(menu) menu.add_cascade(label='File', menu=filemenu) filemenu.add_command(label='New') filemenu.add_command(label='Open...') filemenu.add_separator() filemenu.add_command(label='Exit', command=root.quit) helpmenu = Menu(menu) menu.add_cascade(label='Help', menu=helpmenu) helpmenu.add_command(label='About') mainloop()>

Izvade

9. Kombinētais lodziņš

Combobox logrīks tiek izveidots, izmantojot ttk.Combobox klasi no moduļa tkinter.ttk. Kombinētā lodziņa vērtības tiek norādītas, izmantojot vērtību parametru. Noklusējuma vērtība tiek iestatīta, izmantojot iestatīto metodi. Notikumu apstrādātāja funkcija on_select ir saistīta ar kombinēto lodziņu, izmantojot saistīšanas metodi, kas atjaunina etiķeti ar atlasīto vienumu ikreiz, kad tiek atlasīts vienums.

Python3
import tkinter as tk from tkinter import ttk def on_select(event): selected_item = combo_box.get() label.config(text='Selected Item: ' + selected_item) root = tk.Tk() root.title('Combobox Example') # Create a label label = tk.Label(root, text='Selected Item: ') label.pack(pady=10) # Create a Combobox widget combo_box = ttk.Combobox(root, values=['Option 1', 'Option 2', 'Option 3']) combo_box.pack(pady=5) # Set default value combo_box.set('Option 1') # Bind event to selection combo_box.bind('<>', on_select) root.mainloop()>

Izvade

attēls2

10. Mērogs

To izmanto, lai nodrošinātu grafisku slīdni, kas ļauj atlasīt jebkuru vērtību no šīs skalas. Vispārējā sintakse ir šāda:

w = Scale(master, option=value)master is the parameter used to represent the parent window.>

Ir vairākas iespējas, kas tiek izmantotas, lai mainītu logrīka formātu. Opciju skaitu var nodot kā parametrus, atdalot tos ar komatiem. Daži no tiem ir uzskaitīti zemāk.

Python3
from tkinter import * master = Tk() w = Scale(master, from_=0, to=42) w.pack() w = Scale(master, from_=0, to=200, orient=HORIZONTAL) w.pack() mainloop()>

Izvade

vienpadsmit. Augstākais līmenis

Šo logrīku tieši kontrolē logu pārvaldnieks. Lai strādātu ar to, nav nepieciešams vecāklogs. Vispārējā sintakse ir šāda:

w = TopLevel(master, option=value)>

Ir vairākas iespējas, kas tiek izmantotas, lai mainītu logrīka formātu. Opciju skaitu var nodot kā parametrus, atdalot tos ar komatiem. Daži no tiem ir uzskaitīti zemāk.

Python3
from tkinter import * root = Tk() root.title('GfG') top = Toplevel() top.title('Python') top.mainloop()>

Izvade

korekts java

12. Ziņa

Tas attiecas uz vairāku rindiņu un nerediģējamu tekstu. Tas darbojas tāpat kā etiķete. Vispārējā sintakse ir šāda:

w = Message(master, option=value) master is the parameter used to represent the parent window.>

Ir vairākas iespējas, kas tiek izmantotas, lai mainītu logrīka formātu. Opciju skaitu var nodot kā parametrus, atdalot tos ar komatiem. Daži no tiem ir uzskaitīti zemāk.

Python3
from tkinter import * main = Tk() ourMessage = 'This is our Message' messageVar = Message(main, text=ourMessage) messageVar.config(bg='lightgreen') messageVar.pack() main.mainloop()>

Izvade

13. Izvēlnes poga

Tā ir daļa no augšējās izvēlnes, kas visu laiku paliek logā. Katrai izvēlnes pogai ir sava funkcionalitāte. Vispārējā sintakse ir šāda:

w = MenuButton(master, option=value) master is the parameter used to represent the parent window.>

Ir vairākas iespējas, kas tiek izmantotas, lai mainītu logrīka formātu. Opciju skaitu var nodot kā parametrus, atdalot tos ar komatiem. Daži no tiem ir uzskaitīti zemāk.

Python3
from tkinter import * top = Tk() mb = Menubutton ( top, text = 'GfG') mb.grid() mb.menu = Menu ( mb, tearoff = 0 ) mb['menu'] = mb.menu cVar = IntVar() aVar = IntVar() mb.menu.add_checkbutton ( label ='Contact', variable = cVar ) mb.menu.add_checkbutton ( label = 'About', variable = aVar ) mb.pack() top.mainloop()>

Izvade

14. Progresa josla

Tkinter lietojumprogramma ar progresa joslas logrīku un pogu, lai sāktu progresu. Noklikšķinot uz pogas, progresa josla īsā laika posmā aizpildās līdz pat 100%, simulējot uzdevumu, kura izpildei nepieciešams laiks.

Python3
import tkinter as tk from tkinter import ttk import time def start_progress(): progress.start() # Simulate a task that takes time to complete for i in range(101): # Simulate some work time.sleep(0.05) progress['value'] = i # Update the GUI root.update_idletasks() progress.stop() root = tk.Tk() root.title('Progressbar Example') # Create a progressbar widget progress = ttk.Progressbar(root, orient='horizontal', length=300, mode='determinate') progress.pack(pady=20) # Button to start progress start_button = tk.Button(root, text='Start Progress', command=start_progress) start_button.pack(pady=10) root.mainloop()>

Izvade

progresu

piecpadsmit. SpinBox

Tas ir logrīka “Ieraksts” ieraksts. Šeit vērtību var ievadīt, atlasot fiksētu skaitļu vērtību. Vispārējā sintakse ir šāda:

w = SpinBox(master, option=value)>

Ir vairākas iespējas, kas tiek izmantotas, lai mainītu logrīka formātu. Opciju skaitu var nodot kā parametrus, atdalot tos ar komatiem. Daži no tiem ir uzskaitīti zemāk.

Python3
from tkinter import * master = Tk() w = Spinbox(master, from_=0, to=10) w.pack() mainloop()>

Izvade:

16. Teksts

Lai rediģētu vairāku rindiņu tekstu un formatētu tā, kā tas ir jāparāda. Vispārējā sintakse ir šāda:

w =Text(master, option=value)>

Ir vairākas iespējas, kas tiek izmantotas, lai mainītu teksta formātu. Opciju skaitu var nodot kā parametrus, atdalot tos ar komatiem. Daži no tiem ir uzskaitīti zemāk.

Python3
from tkinter import * root = Tk() T = Text(root, height=2, width=30) T.pack() T.insert(END, 'techcodeview.com
BEST WEBSITE
') mainloop()>

Izvade

17. Audekls

To izmanto, lai zīmētu attēlus un citus sarežģītus izkārtojumus, piemēram, grafiku, tekstu un logrīkus. Vispārējā sintakse ir šāda:

w = Canvas(master, option=value) master is the parameter used to represent the parent window.>

Ir vairākas iespējas, kas tiek izmantotas, lai mainītu logrīka formātu. Opciju skaitu var nodot kā parametrus, atdalot tos ar komatiem. Daži no tiem ir uzskaitīti zemāk.

Python3
from tkinter import * master = Tk() w = Canvas(master, width=40, height=60) w.pack() canvas_height=20 canvas_width=200 y = int(canvas_height / 2) w.create_line(0, y, canvas_width, y ) mainloop()>

Outpu

18. PannedWindow

Tas ir konteinera logrīks, ko izmanto, lai apstrādātu tajā izvietoto rūšu skaitu. Vispārējā sintakse ir šāda:

w = PannedWindow(master, option=value)>

Master ir parametrs, ko izmanto, lai attēlotu vecāklogu. Ir vairākas iespējas, kas tiek izmantotas, lai mainītu logrīka formātu. Opciju skaitu var nodot kā parametrus, atdalot tos ar komatiem. Daži no tiem ir uzskaitīti zemāk.

Python3
from tkinter import * m1 = PanedWindow() m1.pack(fill=BOTH, expand=1) left = Entry(m1, bd=5) m1.add(left) m2 = PanedWindow(m1, orient=VERTICAL) m1.add(m2) top = Scale(m2, orient=HORIZONTAL) m2.add(top) mainloop()>

Izvade

Krāsu opcija programmā Tkinter

Šis piemērs parāda dažādu krāsu opciju izmantošanu Tkinter logrīkos, tostarp aktīvās fona un priekšplāna krāsas, fona un priekšplāna krāsas, atspējotās stāvokļa krāsas un atlases krāsas. Katrs logrīks piemērā parāda citu krāsu opciju, nodrošinot vizuālu priekšstatu par to, kā šīs opcijas ietekmē logrīku izskatu.

Python3
import tkinter as tk root = tk.Tk() root.title('Color Options in Tkinter') # Create a button with active background and foreground colors button = tk.Button(root, text='Click Me', activebackground='blue', activeforeground='white') button.pack() # Create a label with background and foreground colors label = tk.Label(root, text='Hello, Tkinter!', bg='lightgray', fg='black') label.pack() # Create an Entry widget with selection colors entry = tk.Entry(root, selectbackground='lightblue', selectforeground='black') entry.pack() root.mainloop()>

Izvade

2024-04-2516-50-47online-video-cuttercom-ezgifcom-video-to-gif-converter

Uzziniet vairāk, kā uzlabot fontu: Tkinter fonts

Ģeometrijas vadība

Tkinter piedāvā arī piekļuvi logrīku ģeometriskajai konfigurācijai, kas var sakārtot logrīkus vecāku logos. Galvenokārt ir trīs ģeometrijas menedžeru klases.

pack() metode

Tas sakārto logrīkus blokos pirms ievietošanas vecāklogrīkā.

Python3
import tkinter as tk root = tk.Tk() root.title('Pack Example') # Create three buttons button1 = tk.Button(root, text='Button 1') button2 = tk.Button(root, text='Button 2') button3 = tk.Button(root, text='Button 3') # Pack the buttons vertically button1.pack() button2.pack() button3.pack() root.mainloop()>

Izvade


komplekts

grid() metode

Tas sakārto logrīkus režģī (tabulai līdzīga struktūra) pirms ievietošanas vecāklogrīkā.

Python3
import tkinter as tk root = tk.Tk() root.title('Grid Example') # Create three labels label1 = tk.Label(root, text='Label 1') label2 = tk.Label(root, text='Label 2') label3 = tk.Label(root, text='Label 3') # Grid the labels in a 2x2 grid label1.grid(row=0, column=0) label2.grid(row=0, column=1) label3.grid(row=1, column=0, columnspan=2) root.mainloop()>

Izvade

režģis

git pull izcelsmes meistars

vieta() metode

Tas organizē logrīkus, novietojot tos noteiktās programmētāja norādītās pozīcijās.

Python3
import tkinter as tk root = tk.Tk() root.title('Place Example') # Create a label label = tk.Label(root, text='Label') # Place the label at specific coordinates label.place(x=50, y=50) root.mainloop()>

Izvade

vieta