Tkinter引见
Tkinter介绍
尽管此代码是非常小的,应用程序窗口,可以做了不少。它可以改变大小,最大化,最小化。
在这里,我们导入
我们的例子中的类继承自
parent是TK根窗口。
前两个参数是窗口的宽度和高度。最后两个参数是X,Y屏幕坐标。

在这部分Tkinter教程中,我们将介绍Tkinter工具包,从而创建我们的第一个项目。
简单的例子
在我们的第一个例子中,我们将在屏幕上显示一个基本的窗口。
from Tkinter import Tk,Frame,BOTH class Example(Frame): def __init__(self,parent): Frame.__init__(self, parent, background="white") self.parent = parent self.initUI() def initUI(self): self.parent.title("Simple") self.pack(fill=BOTH,expand=1) def main(): root = Tk() root.geometry("450x350+300+300") Myapp = Example(root) root.mainloop() if __name__ == "__main__": main()
尽管此代码是非常小的,应用程序窗口,可以做了不少。它可以改变大小,最大化,最小化。
from Tkinter import Tk,Frame,BOTH
在这里,我们导入
传统知识
和框架
类。第一类是用来创建一个根窗口。后者则是对其他部件的容器。
class Example(Frame): def __init__(self,parent): Frame.__init__(self, parent, background="white")
我们的例子中的类继承自
框架
容器构件。在__init__()方法
构造方法,我们称之为我们继承类的构造。背景
参数指定的框架
构件的背景色。
self.parent = parent
parent是TK根窗口。
我们委托的initUI()
方法创建的用户界面。
root.geometry("450x350+300+300")
前两个参数是窗口的宽度和高度。最后两个参数是X,Y屏幕坐标。
中心窗口
中心屏幕上的一个窗口。
from Tkinter import Tk,Frame,BOTH class Example(Frame): def __init__(self,parent): Frame.__init__(self, parent, background="white") self.parent = parent self.parent.title("Centered Window") self.pack(fill=BOTH,expand=1) self.centerWindow() def centerWindow(self): w = 290 h = 150 sw = self.parent.winfo_screenwidth() sh = self.parent.winfo_screenheight() x = (sw - w)/2 y = (sw - h)/2 self.parent.geometry('%dx%d+%d+%d' % (w,h,x,y)) def main(): root = Tk() app = Example(root) root.mainloop() if __name__ == "__main__": main()
我们需要有窗口的大小和屏幕尺寸的窗口,在显示器屏幕的中心位置。
W = 290 H = 150
这些应用程序窗口的宽度和高度值。
SW = self.parent.winfo_screenwidth() SH = self.parent.winfo_screenheight()
我们确定屏幕的宽度和高度。
X =(SW - W)/ 2 Y =(SH - H)/ 2
我们计算出所需的x,y坐标。
self.parent.geometry('%DX%D + D + D'%(W,H,X,Y))
最后,geometry()方法用来放置在屏幕中心的窗口。
退出按钮
在本节的最后一个例子,我们将创建一个退出按钮。当我们按下这个按钮,应用程序终止。
from Tkinter import Tk,BOTH from ttk import Frame,Button,Style class Example(Frame): def __init__(self,parent): Frame.__init__(self, parent) self.parent = parent self.initUI() def initUI(self): self.parent.title("Quit Button") self.style = Style() self.style.theme_use("default") self.pack(fill=BOTH,expand=1) quitButton = Button(self,text="Quit",command=self.quit) quitButton.place(x=50,y=50) def main(): root = Tk() root.geometry("250x150+300+300") app = Example(root) root.mainloop() if __name__ == '__main__': main()