【Python】图形界面

孤者浪人 提交于 2020-01-03 02:09:04
# 【【图形界面】】'''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()
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!