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()