# 【【图形界面】】'''Python支持多种图形界面的第三方库,包括TkwxWidgetsQtGTK但是Python自带的库是支持Tk的Tkinter,无需安装任何包,可直接使用。'''#【Tkinter】'''我们来梳理一下概念:我们编写的Python代码会调用内置的Tkinter,Tkinter封装了访问Tk的接口;Tk是一个图形库,支持多个操作系统,使用Tcl语言开发;Tk会调用操作系统提供的本地GUI接口,完成最终的GUI。所以,我们的代码只需要调用Tkinter提供的接口就可以了。'''from tkinter import *#从Frame派生一个Application 类,这是所有Widget的父容器class Application(Widget):#master,在Tkinter中,一个控件可能属于另一个控件,这时另一个控件就是这个控件的master。默认一个窗口没有master,因此master有None的默认值。 def __init__(self,master = None): Frame.__init__(self,master) self.pack() self.createWidgets() def createWidgets(self): self.helloLabel = Label(self,text='hello,world') self.helloLabel.pack() self.quitButton = Button(self,text='Quit',command = self.quit()) self.quitButton.pack()'''在GUI中,每个Button Label 输入框等,都是一个Widget..Frame则是可以容纳其他Widget 的Widget .所有Widget组合起来就是一棵树pack() 是把Widget放入父容器,并实现布局。pack()是最简单的布局,grid()可以实现更复杂的布局。'''#第三步 实例化Application 并启动消息循环app = Application()#设置窗口标题#app.master是返回当前顶层窗口的对象,然后再调用title这个方法设置title,master=None只是表明app是顶层窗口而已。app.master.title('Hello python')# 实例户#主消息循环#app.mainloop()# 输入文本from tkinter import *import tkinter.messagebox as messageboxclass Application(Frame): def __init__(self,master = None): Frame.__init__(self,master = None) self.pack() self.createWidgets() def createWidgets(self): self.nameInput = Entry(self) self.nameInput.pack() self.alertButton = Button(self,text = 'Hello',command = self.hello) self.alertButton.pack() def hello(self): name = self.nameInput.get() or 'world' messagebox.showinfo('Message',"hello %s" % name)app = Application()#设置窗口标题app.master.title('Hello world')#主消息循环#app.mainloop()
来源:https://www.cnblogs.com/suren2017/p/9385237.html