What is Tkinter?
Tkinter是Python的GUI widget。它是基於Tk工具包的,而Tk最初是爲了工具命令語言(Tool Command Language, TCL)設計的。由於Tk的流行,它被移植到Perl(Perl/Tk)和Python(Tkinter)。
A minimal application
from Tkinter import *
class Application(Frame):
def __init__(self, master = None):
Frame.__init__(self, master)
self.grid()
self.createWidget()
def createWidgets(self):
self.quitButton = Button(self, text = ‘Quit’, command=self.quit)
self.quitButton.grid()
app = Application()
app.master.title(‘Sample application’)
app.mainloop()
另外一種形式的Hello, world
from Tkinter import *
root = Tk()
label = Label(text = “hello world”);
label.pack()
root.mainloop()
Layout management
儘管在Tkinter中有三種geometry managers,但是本文將使用.grid()。這種Layout管理器將所有的widget都看成是一個由列跟行組成的表格。通常包含如下術語:
- 單元cell
- 寬width
- 高 height
- extra space
- 合併單元格spanning
創建了一個widget後,只有將其向geometry manager註冊後,該widget纔會顯示出來。
thing.grid(…)
用類封裝的Hello, world例子。
from Tkinter import *
class App:
def __init__(self, master):
frame = Frame(master)
frame.pack()
self.button = Button(frame, text = ‘Quit’, fg =’red’, command = frame.quit)
self.button.pack(side = LEFT)
self.hi_there = Button(frame, text = ‘Hello’, command = self.say_hi)
self.hi_there.pack()
def say_hi(self):
print ‘hi there, everyone!’
root = Tk()
app = App(root)
root.mainloop()