| 1 2 | ||
|
Editor: geon
Time: 2011/10/11 18:40:33 GMT+2 |
||
| Note: pridavani znacek 2x-3x | ||
changed: - - <img src="http://www.geon.wz.cz/pyczwiki/ahojsvete1.jpg" border="0"> - - :: - - - # -*- coding: utf8 -*- - from Tkinter import * - --------------- .. image:: py30.png :align: right .. image:: http://www.geon.wz.cz/pyczwiki/ahojsvete1.jpg :: # -*- coding: utf8 -*- from tkinter import * removed: - removed: - removed: - changed: - -- hlavni.mainloop() vstupuje do smyčky událostí, kdy program čeká na nějakou akci - (na stisknuté tlačítko, na rozbalení menu, ...). Bude čekat tak dlouho, dokud - hlavni.mainloop() vstupuje do smyčky událostí, kdy program čeká na nějakou akci (na stisknuté tlačítko, na rozbalení menu, ...). Bude čekat tak dlouho, dokud changed: - - <img src="http://www.geon.wz.cz/pyczwiki/ahojsvete2.jpg" border="0"> - - :: -------------- .. image:: http://www.geon.wz.cz/pyczwiki/ahojsvete2.jpg :: changed: - from Tkinter import * from tkinter import * changed: - Label(hlavni, text="Ahoj světe!").pack() - Button(text="Sbohem", command='exit').pack() label=Label(hlavni, text="Ahoj světe!").pack() button=Button(text="Sbohem", command=lambda:hlavni.destroy()).pack() changed: - -- Button definuje tzv. callback funkci command: co se má stát, jaká funkce se má spustit, -když se tlačítko zmáčkne. - -- nyní tedy má mainloop() událost, na kterou může reagovat, takže když tlačítko -zmáčkneme tak mainloop() vykoná příkaz 'exit'. Běžněji se však takto volají obyčejné -funkce. - - - Button definuje tzv. callback funkci command: co se má stát, jaká funkce se má spustit, když se tlačítko zmáčkne. - nyní tedy má mainloop() událost, na kterou může reagovat, takže když tlačítko zmáčkneme tak mainloop() vykoná příkaz 'hlavni.destroy()'. Běžněji se však takto volají obyčejné funkce. V objektovém podání vypadá výše uvedený příklad takto: ....................................................... .. image:: http://effbot.org/media/cache/76734d5c44455920d98197bd2958fec7.gif :: from tkinter import * class Application(Frame): def say_hi(self): print("hi there, everyone!") def createWidgets(self): self.QUIT = Button(self) self.QUIT["text"] = "QUIT" self.QUIT["fg"] = "red" self.QUIT["command"] = self.quit self.QUIT.pack({"side": "left"}) self.hi_there = Button(self) self.hi_there["text"] = "Hello", self.hi_there["command"] = self.say_hi self.hi_there.pack({"side": "left"}) def __init__(self, master=None): Frame.__init__(self, master) self.pack() self.createWidgets() root = Tk() app = Application(master=root) app.mainloop() root.destroy() Více o tomto příkladě i s podrobným vysvětlením na http://effbot.org/tkinterbook/tkinter-hello-again.htm.
# -*- coding: utf8 -*- from tkinter import * hlavni=Tk() w=Label(hlavni, text="Ahoj světe!") w.pack() hlavni.mainloop()
program nezavřeme, protože jsme nezadali žádné události.
# -*- coding: utf8 -*- from tkinter import * hlavni=Tk() label=Label(hlavni, text="Ahoj světe!").pack() button=Button(text="Sbohem", command=lambda:hlavni.destroy()).pack() hlavni.mainloop()
from tkinter import *
class Application(Frame):
def say_hi(self):
print("hi there, everyone!")
def createWidgets(self):
self.QUIT = Button(self)
self.QUIT["text"] = "QUIT"
self.QUIT["fg"] = "red"
self.QUIT["command"] = self.quit
self.QUIT.pack({"side": "left"})
self.hi_there = Button(self)
self.hi_there["text"] = "Hello",
self.hi_there["command"] = self.say_hi
self.hi_there.pack({"side": "left"})
def __init__(self, master=None):
Frame.__init__(self, master)
self.pack()
self.createWidgets()
root = Tk()
app = Application(master=root)
app.mainloop()
root.destroy()
Více o tomto příkladě i s podrobným vysvětlením na http://effbot.org/tkinterbook/tkinter-hello-again.htm.