TKINTER avagy a PYTHON beépített grafikus könyvtára

A grafikus könyvtár (library) olyan szoftvereszközkészlet, amely különböző GUI-elemek funkcionalitását meghatározó osztályok gyűjteményét tartalmazza. Ezek a grafikus könyvtárak általában C/C++ nyelven íródnak. Sokukat importálható modulok formájában átültették Pythonra.

az órán elkészített keretben mozgatható kép

A tkinter widgeteknek 15 alaposztálya létezik:

  1. Button  – Klasszikus nyomógomb, valamilyen utasítás végrehajtásának az előidézésére használják.
  2. Canvas – Különböző grafikus elemek elhelyezésére szolgáló felület. Rajzolásra, grafikus szerkesztők létrehozására és testre szabott widgetek implementálására is használhatjuk.
  3. Checkbutton – Egy jelölőnégyzet, aminek két különböző állapota lehet (a négyzet ki van jelölve vagy nincs kijelölve). Egy klikkelés a widgeten állapotváltozást idéz elő.
  4. Entry – Adatbeviteli mező, amibe a felhasználó bármilyen szöveget beírhat.
  5. Frame – Egy téglalap alakú felület az ablakban, ahova más widgeteket tehetünk. Ez a felület színes lehet. Szegélye is lehet.
  6. Label – Valamilyen szöveg (vagy címke) (esetleg egy kép).
  7. Listbox – A felhasználónak általában valamilyen doboz formájában felajánlott választéklista. A Listboxot úgy is konfigurálhatjuk, hogy vagy egy rádiógomb vagy egy jelölőnégyzet sorozatot tartalmazzon.
  8. Menu – Menü. Lehet címsorhoz kapcsolódó legördülő menü, vagy egy kattintás után akárhol feljövő úszó « pop up » menü.
  9. Menubutton – Menügomb, amit legördülő menük implementálására használnak.
  10. Message – Szöveg kiírását teszi lehetővé. A Label widget egy változata, ami lehetővé teszi, hogy a kiírt szöveg automatikusan egy bizonyos mérethez, vagy szélesség/magasság arányhoz igazodjon.
  11. Radiobutton – (Egy fekete pont egy kis körben.) Egy változó lehetséges értékeit reprezentálja. Az egyik rádiógombra való kattintás az annak megfelelő értéket adja a változónak.
  12. Scale – Egy kurzornak egy skála mentén való mozgatásával teszi láthatóvá egy változó értékének a változtatását.
  13. Scrollbar – A görgető sort más widgetekhez (Canvas, Entry, Listbox, Text) kapcsolva használhatjuk.
  14. Text – Formázott szöveg kiírása. A felhasználónak is lehetővé teszi a kiírt szöveg formázását. Képeket is be lehet szúrni.
  15. Toplevel – Egy külön, felülre kiírt ablak.

A fenti videón látható mozgatható kép kódja:

from tkinter import *
def key_pressed(event):
    cat_coord = canvas.coords(cat)
    if event.keysym == 'Left' and cat_coord[0] > 5:
        canvas.move(cat, -5, 0)
    if event.keysym == 'Right' and cat_coord[0] <= 455:
        canvas.move(cat, 5, 0)
    if event.keysym == 'Up' and cat_coord[1] > 5:
        canvas.move(cat, 0, -5)
    if event.keysym == 'Down' and cat_coord[1] <= 335:
        canvas.move(cat, 0, 5)
root = Tk()

root.title('Mozgatás')
canvas = Canvas(master=root, width=480, height=360, bg='burlywood1')
canvas.pack()
bg_image = PhotoImage(file='bg.png')
cat_image = PhotoImage(file='cat.png')
bg = canvas.create_image(0,0, image=bg_image)
cat = canvas.create_image(240,180, image=cat_image)

root.bind('<KeyPress>', key_pressed)
root.mainloop()

Vélemény, hozzászólás?

Az e-mail címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük