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


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值