Upload
ovidio
View
59
Download
1
Embed Size (px)
DESCRIPTION
Python – FÖRELÄSNING 3. Händelsehantering i grafiska gränssnitt byggda med Tkinter. Peter Mozelius DSV. Python – en orm med flera skinn. Det finns flera möjligheter att klä på Python med ett GUI PyQT PyGTK Jython MPY wxPython Tkinter. Tkinter. Vi börjar med att titta på: Tkinter - PowerPoint PPT Presentation
Citation preview
PYTHON – FÖRELÄSNING 3
IB910C - Multimediaprogrammering i Python
Händelsehantering i grafiska gränssnitt byggda
med Tkinter
Peter Mozelius DSV
Python – en orm med flera skinn
Det finns flera möjligheter att klä på Python med ett GUI
PyQT PyGTK Jython MPY wxPython Tkinter
Multimediaprogrammering i Python
Tkinter
Vi börjar med att titta på:
TkinterPILImageTk
Mycket för att Tkinter har blivit en de facto standard för Python
Multimediaprogrammering i Python
Fönster och etiketter i Tkinter
Mycket lätt att skapa egna fönster: funster = Tkinter.Tk();
Mycket lätt att skapa egna etiketter: etikett = Tkinter.Label();
Mycket lätt att skapa egna knappar: knapp = Tkinter.Button();
Multimediaprogrammering i Python
Ett första litet fönsterprogram
Vi sätter nu ihop ett första fönsterprogram med Ett fönster En etikett En knapp
Multimediaprogrammering i Python
F3_exempel1
import Tkinter;ruta = Tkinter.Tk();
halsning = Tkinter.Label(ruta, text='Jag är en Tkinter.Label');
halsning.pack();
knapp = Tkinter.Button(ruta, text='Hej, jag är en knapp', bg='blue', fg='white');
knapp.pack(fill=Tkinter.X);
Multimediaprogrammering i Python
F3_exempel1
Hm.. Varför fungerar inte koden på den förra bilden. Vad har vi glömt?
Tkinter.mainloop();
Visar huvudfönstret i en loop som kan ta emot och hantera händelser
Multimediaprogrammering i Python
Tkinter.Text
En annan grafisk komponent i Tkinter som kan hantera text är Text
Lägg in text med funktionen
insert() Ta bort text med funktionen
delete() Hämta text med funtionen
get()
Multimediaprogrammering i Python
Att spara text till fil
Vi talade i förra föreläsningen om persistens
Så här kan vi spara ner information mellan programkörningar i Python
Multimediaprogrammering i Python
Händelsehantering
Så här kan vi koppla funktionen spara() från den föregående bilden till en knapp:
Vi tar nu en titt på F3_exempel 2
Multimediaprogrammering i Python
Paus 15 minuter
Multimediaprogrammering i Python
F3_exempel2
Multimediaprogrammering i Python
Vi tar nu även en titt på koden:
(finns för nedladdning på kurshemsidan)
F3_exempel2
Hur löser vi händelsehanteringen? Vi vill kunna
Radera och spara text Stänga ner fönstret
Multimediaprogrammering i Python
F3_exempel2
Slutligen våra funktioner för att radera och spara text:
Multimediaprogrammering i Python
Bilder med ImageTk
För att kunna använda ImageTk och dess funktioner så behöver vi först hämta med och installera PIL (Python Imaging Library)
Finns för nedladdning på:http://www.pythonware.com/products/pil/
The PIL handbook:http://www.pythonware.com/library/pil/handbook/
Multimediaprogrammering i Python
Python Imaging Library
Följ installationsprogrammets råd:
Multimediaprogrammering i Python
F3_exempel3
Vi ska nu slutligen ta en titt på exempel3 som har följande grafiska gränssnitt:
Multimediaprogrammering i Python
F3_exempel3
Att läsa in en bild med ImageTk:
Multimediaprogrammering i Python
F3_exempel3
En passande main-funktion:
Innehållet i green.txt*Button.background: Green
Multimediaprogrammering i Python
F3_exempel3
Fixa till grafiken:
Posta gärna lite fler tips om grafiska lösningar inne i Moodles diskussionsfora.
Multimediaprogrammering i Python
Tack för idag!!
Multimediaprogrammering i Python