Tkinter介绍

在这部分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()  


阅读更多 登录后自动展开
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页