1 / 11

Python

Python. Grafika. Grafične knjižnice. Programski jeziki običajno ne vsebujejo ukazov za delo z grafiko So pa izjeme: LOGO … Različne knjižnice za delo z grafiko in za gradnjo GUV (GUI) Grafični uporabniški vmesnik

Download Presentation

Python

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Python Grafika

  2. Grafične knjižnice • Programski jeziki običajno ne vsebujejo ukazov za delo z grafiko • So pa izjeme: LOGO … • Različne knjižnice za delo z grafiko in za gradnjo GUV (GUI) • Grafični uporabniški vmesnik • Ne le osnovni grafični ukazi (točka, premica, …) ampak tudi delo z okni, gumbi, dogodkovno programiranje … • Številne GUI knjižnice za Python • http://wiki.python.org/moin/GuiProgramming

  3. tkinter • Na voljo so različne grafične knjižnice • Osnovna distribucija Pythona vsebuje standardni modul tkinter, ki omogoča delo z enostavno grafiko • tkinter – tkinterface • Pythonov dostop do GUI knjižnice Tk (uporablja se tudi drugje – v drugih pr. jezikih) • V 2.6 se je modul imenoval Tkinter (velika začetnica)! • Pogosto edina potrebna sprememba za prenos starih programov v Python 3.0 • Zamenjava Tkinter / tkinter

  4. Osnovni zgled • import tkinter • okno = tkinter.Tk() • okno.mainloop()

  5. Risanje

  6. Platno za risanje • platno = tkinter.Canvas(okno, width=300, height=300) • Ustvarimo platno določenih dimenzij, ki je del okna okno. • … rišemo po platnu • platno.pack() • Z metodo pack se odloči, kam se mora postaviti platno in da je platno vidno, ko se pokaže okno • Program: importtkinter okno = tkinter.Tk() platno = tkinter.Canvas(okno, width=200, height=200) platno.pack() • In … • Nič … (tudi praznega platna ni!) • Platno imamo, a nismo še naročili, naj se prikaže okno!

  7. Ne pozabi! • Šele z okno.mainloop() zaženemo prikaz okna • Takrat se prikaže okno z vsemi "spakiranimi" elementi • Mi bomo do nadaljnjega imeli le en element (platno) • V bistvu neskončna zanka, ki "čaka" na dogodke • Dogodkovno programiranje (klik z miško, …) • IDLE in tkinter se ne razumeta najbolje • Ker je IDLE napisan v tkinter • Zato bo včasih potrebno ročno "pobijati" lupino, okna …

  8. "Slikajmo" • platno.create_arc(x0, y0, x1, y1, opcije...) ... nariše krožni lok/odsek/izsek • platno.create_line(x0, y0, x1, y1, ..., opcije...) ... nariše lomljeno črto • platno.create_rectangle(x0, y0, x1, y1, opcije...) ... nariše pravokotnik • platno.create_oval(x0, y0, x1, y1, opcije...) ... nariše elipso • platno.create_polygon(x0, y0, x1, y1, ..., opcije...) ... nariše poligon • platno.create_text(x0, y0, opcije...) ... nariše besedilo

  9. Denimo import tkinter okno = tkinter.Tk() platno = tkinter.Canvas(okno, width=400, height=300) platno.pack() platno.create_rectangle(10, 50, 150, 170) platno.create_oval(10, 50, 150, 170) platno.create_line(10, 50, 150, 170, 250, 100, fill='blue', width=4) platno.create_arc(100, 100, 300, 200,style='chord') platno.create_text(200, 150, text='besedilo', anchor='nw',fill='red', font=('Arial', 16, 'bold italic')) window.mainloop()

  10. Nekaj povezav • http://www.student.nada.kth.se/~d94-tan/notes/tkcanvas/tkcanvas.htm • http://effbot.org/tkinterbook/tkinter-index.htm#class-reference • http://www.s-3gim.mb.edus.si/informatika/4_letnik/vaje/Python_Tkinter.pdf

  11. In …

More Related