logo

Python Tkinter

Python tarjoaa useita vaihtoehtoja graafisen käyttöliittymän (GUI) kehittämiseen. Kaikista GUI-menetelmistä tkinter on yleisimmin käytetty menetelmä. Se on vakio Python-käyttöliittymä Pythonin mukana toimitettuun Tk GUI -työkalupakettiin. Python Tkinter on nopein ja helpoin tapa luoda GUI-sovelluksia. GUI:n luominen Tkinterin avulla on helppo tehtävä.

Sisällysluettelo



Luodaksesi Tkinter Python -sovelluksen, noudata näitä perusvaiheita:

  1. Tuo tkinter-moduuli : Tämä tehdään aivan kuten minkä tahansa muun moduulin tuonti Python . Huomaa, että Python 2.x:ssä moduulin nimi on 'Tkinter', kun taas Python 3.x:ssä sen nimi on 'tkinter'.
  2. Luo pääikkuna (säilö) : Pääikkuna toimii säilönä kaikille myöhemmin lisäämillesi GUI-elementeille.
  3. Lisää widgetit pääikkunaan : Voit lisätä pääikkunaan minkä tahansa määrän widgetejä, kuten painikkeita, tarroja, syöttökenttiä jne., suunnitellaksesi käyttöliittymän haluamallasi tavalla.
  4. Käytä tapahtumalaukaisimia widgeteissä : Voit liittää widgeteihin tapahtumalaukaisimia määrittääksesi, kuinka ne reagoivat käyttäjien vuorovaikutukseen.

Luo ensimmäinen Tkinter GUI -sovellus

Käytössä on kaksi päämenetelmää, jotka käyttäjän on muistettava luodessaan Python-sovellusta graafisella käyttöliittymällä.

linux tiedostot

Tk()

Pääikkunan luomiseksi tkinter tarjoaa menetelmän 'Tk(screenName=None, baseName=None, className='Tk', useTk=1)'. Voit muuttaa ikkunan nimeä muuttamalla luokanNimen haluamaksesi. Sovelluksen pääikkunan luomiseen käytetty peruskoodi on:



mainloop()

On olemassa menetelmää, joka tunnetaan nimellä mainloop(), jota käytetään, kun sovellus on valmis suoritettavaksi. mainloop() on ääretön silmukka, jota käytetään sovelluksen suorittamiseen, tapahtuman odottamiseen ja tapahtuman käsittelemiseen niin kauan kuin ikkunaa ei ole suljettu.

Esimerkki

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

Lähtö



img

Tkinter-widget

On olemassa useita widgetejä, jotka voit laittaa tkinter-sovellukseesi. Jotkut tärkeimmistä widgeteistä on selitetty alla:

1. Label

Se viittaa näyttöruutuun, johon voit laittaa mitä tahansa tekstiä tai kuvaa, joka voidaan päivittää milloin tahansa koodin mukaan. Yleinen syntaksi on:

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

Lähtö

etiketti

2. Painike

Tätä widgetiä käytetään painikkeen lisäämiseen sovellukseesi. Yleinen syntaksi on:

w=Button(master, option=value)>

master on parametri, jota käytetään edustamaan pääikkunaa. Painikkeiden muodon muuttamiseen käytetään useita vaihtoehtoja. Vaihtoehtojen määrä voidaan välittää pilkuilla erotettuina parametreina.Python 3>

>
>

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


Lähtö


3. Sisäänpääsy

Sitä käytetään syöttämään yksirivinen tekstinsyöttö käyttäjältä. Monirivisessä tekstinsyötössä käytetään Teksti-widgetiä. Yleinen syntaksi on:

w=Entry(master, option=value)>

master on parametri, jota käytetään edustamaan pääikkunaa. Widgetin muodon muuttamiseen käytetään useita vaihtoehtoja. Vaihtoehtojen määrä voidaan välittää pilkuilla erotettuina parametreina. Jotkut niistä on lueteltu alla.

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

Lähtö

konstruktori javassa

4. CheckButton

Voit valita minkä tahansa määrän vaihtoehtoja näyttämällä useita vaihtoehtoja käyttäjälle vaihtopainikkeina. Yleinen syntaksi on:

w = CheckButton(master, option=value)>

Tämän widgetin muodon muuttamiseen käytetään useita vaihtoehtoja. Vaihtoehtojen määrä voidaan välittää pilkuilla erotettuina parametreina. Jotkut niistä on lueteltu alla.

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

Lähtö



5. Radiopainike

Sitä käytetään tarjoamaan käyttäjälle monivalintavaihtoehto. Se tarjoaa käyttäjälle useita vaihtoehtoja, ja käyttäjän on valittava yksi vaihtoehto. Yleinen syntaksi on:

w = RadioButton(master, option=value)>

Tämän widgetin muodon muuttamiseen käytetään useita vaihtoehtoja. Vaihtoehtojen määrä voidaan välittää pilkuilla erotettuina parametreina. Jotkut niistä on lueteltu alla.

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

Lähtö

6. Listbox

Se tarjoaa käyttäjälle luettelon, josta käyttäjä voi hyväksyä minkä tahansa määrän vaihtoehtoja. Yleinen syntaksi on:

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

Widgetin muodon muuttamiseen käytetään useita vaihtoehtoja. Vaihtoehtojen määrä voidaan välittää pilkuilla erotettuina parametreina. Jotkut niistä on lueteltu alla.

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

Lähtö


7. Vierityspalkki

Se viittaa liukuohjaimeen, jota käytetään lueteltujen widgetien toteuttamiseen. Yleinen syntaksi on:

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

Widgetin muodon muuttamiseen käytetään useita vaihtoehtoja. Vaihtoehtojen määrä voidaan välittää pilkuilla erotettuina parametreina. Jotkut niistä on lueteltu alla.

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

Lähtö

8. Valikko

Sitä käytetään kaikenlaisten sovelluksen käyttämien valikoiden luomiseen. Yleinen syntaksi on:

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

Tämän widgetin muodon muuttamiseen käytetään useita vaihtoehtoja. Vaihtoehtojen määrä voidaan välittää pilkuilla erotettuina parametreina. Jotkut niistä on lueteltu alla.

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

Lähtö

9. Yhdistelmälaatikko

Combobox-widget luodaan käyttämällä ttk.Combobox-luokkaa tkinter.ttk-moduulista. Yhdistelmälaatikon arvot määritetään arvot-parametrilla. Oletusarvo asetetaan asetusmenetelmällä. Tapahtumakäsittelijätoiminto on_select on sidottu Comboboxiin sidosmenetelmällä, joka päivittää otsikon valitulla alkiolla aina, kun kohde valitaan.

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

Lähtö

kuva2

10. Mittakaava

Sitä käytetään tarjoamaan graafinen liukusäädin, jonka avulla voit valita minkä tahansa arvon kyseiseltä asteikolta. Yleinen syntaksi on:

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

Widgetin muodon muuttamiseen käytetään useita vaihtoehtoja. Vaihtoehtojen määrä voidaan välittää pilkuilla erotettuina parametreina. Jotkut niistä on lueteltu alla.

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

Lähtö

yksitoista. Huipputaso

Tätä widgetiä ohjaa suoraan ikkunanhallinta. Se ei tarvitse mitään ylätason ikkunaa toimiakseen. Yleinen syntaksi on:

w = TopLevel(master, option=value)>

Widgetin muodon muuttamiseen käytetään useita vaihtoehtoja. Vaihtoehtojen määrä voidaan välittää pilkuilla erotettuina parametreina. Jotkut niistä on lueteltu alla.

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

Lähtö

12. Viesti

Se viittaa moniriviseen ja ei-muokattavaan tekstiin. Se toimii samalla tavalla kuin Label. Yleinen syntaksi on:

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

Widgetin muodon muuttamiseen käytetään useita vaihtoehtoja. Vaihtoehtojen määrä voidaan välittää pilkuilla erotettuina parametreina. Jotkut niistä on lueteltu alla.

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

Lähtö

13. MenuButton

Se on osa ylävalikosta, joka pysyy ikkunassa koko ajan. Jokaisella valikkopainikkeella on oma toimintonsa. Yleinen syntaksi on:

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

Widgetin muodon muuttamiseen käytetään useita vaihtoehtoja. Vaihtoehtojen määrä voidaan välittää pilkuilla erotettuina parametreina. Jotkut niistä on lueteltu alla.

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

Lähtö

14. Edistymispalkki

Tkinter-sovellus, jossa on edistymispalkki-widget ja painike edistymisen aloittamiseksi. Kun painiketta napsautetaan, edistymispalkki täyttyy jopa 100 % lyhyessä ajassa, mikä simuloi tehtävää, jonka suorittaminen vie aikaa.

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

Lähtö

edistystä

viisitoista. SpinBox

Se on 'Entry'-widgetin merkintä. Täällä arvo voidaan syöttää valitsemalla numeroiden kiinteä arvo. Yleinen syntaksi on:

w = SpinBox(master, option=value)>

Widgetin muodon muuttamiseen käytetään useita vaihtoehtoja. Vaihtoehtojen määrä voidaan välittää pilkuilla erotettuina parametreina. Jotkut niistä on lueteltu alla.

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

Lähtö:

16. Teksti

Jos haluat muokata monirivistä tekstiä ja muotoilla sen näyttötapaa. Yleinen syntaksi on:

w =Text(master, option=value)>

On olemassa useita vaihtoehtoja, joita käytetään muuttamaan tekstin muotoa. Vaihtoehtojen määrä voidaan välittää pilkuilla erotettuina parametreina. Jotkut niistä on lueteltu alla.

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

Lähtö

17. Kangas

Sitä käytetään piirtämään kuvia ja muita monimutkaisia ​​asetteluja, kuten grafiikkaa, tekstiä ja widgetejä. Yleinen syntaksi on:

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

Widgetin muodon muuttamiseen käytetään useita vaihtoehtoja. Vaihtoehtojen määrä voidaan välittää pilkuilla erotettuina parametreina. Jotkut niistä on lueteltu alla.

Python 3
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

Se on kontti-widget, jota käytetään käsittelemään siihen järjestettyjä ruutuja. Yleinen syntaksi on:

w = PannedWindow(master, option=value)>

Master on parametri, jota käytetään edustamaan pääikkunaa. Widgetin muodon muuttamiseen käytetään useita vaihtoehtoja. Vaihtoehtojen määrä voidaan välittää pilkuilla erotettuina parametreina. Jotkut niistä on lueteltu alla.

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

Lähtö

Värivaihtoehto Tkinterissä

Tämä esimerkki havainnollistaa eri värivaihtoehtojen käyttöä Tkinter-widgeteissä, mukaan lukien aktiiviset tausta- ja etualan värit, tausta- ja etualan värit, käytöstä poistetut tilavärit ja valintavärit. Jokaisessa esimerkin widgetissä on eri värivaihtoehto, mikä antaa visuaalisen esityksen siitä, kuinka nämä asetukset vaikuttavat widgetien ulkonäköön.

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

Lähtö

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

Lue lisää fontin parantamisesta: Tkinter-fontti

Geometrian hallinta

Tkinter tarjoaa myös pääsyn widgetien geometriseen kokoonpanoon, joka voi järjestää widgetit pääikkunoissa. Geometry Manager -luokkia on pääasiassa kolme.

java tulostus

pack() -menetelmä

Se järjestää widgetit lohkoihin ennen niiden sijoittamista yläwidgetiin.

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

Lähtö


pakkaus

grid()-menetelmä

Se järjestää widgetit ruudukkoon (taulukkomainen rakenne) ennen kuin ne asetetaan yläwidgetiin.

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

Lähtö

ruudukko

place() -menetelmä

Se järjestää widgetit asettamalla ne ohjelmoijan ohjaamiin tiettyihin paikkoihin.

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

Lähtö

paikka