GUI图形用户界面编程
GUI编程类似“搭积木”,将一个个组件放到窗口中,并通过增加“事件处理”,完成一个个程序。例如:记事本、word、画图工具等.
tkinter模块
tkinter是Python的标准GUI库,支持跨平台GUI开发,tkinter适合小型的GUI程序编写。
wxPython
wxPython是比较流程的GUI库,适合大型应用程序,功能强,类似C++的MFC库。
PyQT
类似wxPython
但是,我们还是介绍tkinter,tkinter是基础,学会后,其他就很轻松。
tkinter编程四个步骤:
1.创建应用程序主窗口对象(根窗口)--等所有的组件准备好了后,最后创建此对象,表示监听所有的对象,顺序不能反了
2. 在主窗口中增加可视化组件,比如:按钮button,文本框label
3.通过几何布局管理器,管理组件的大小和位置
4.事件处理,通过绑定事件处理程序,相应用户操作所触发的事件。
第一个程序:
from tkinter import *
from tkinter import messagebox
root = Tk()
btn01=Button(root)
btn01["text"]="我叫党京伟"
btn01.pack()
def niShi(e): #e就是事件对象
messagebox.showinfo("姓名","网友:djw")
btn01.bind("<Button-1>",niShi)
root.mainloop() # 设置mainloop方法,则面板激活,
# 所有在面板事件都会被监听,比如按钮点击,就会调用对应的事件
# 所以事件应该首先被设置好,最后调用面板
主窗口的标题和大小定义: root.title(“我的第一个GUI程序”) 、root.genmetry("500x300+100+200")
GUI应用程序类的经典写法:面向对象
通过类Application组织整个GUI程序,类Application继承了Frame及通过继承拥有了父类的特征。
Frame 框架是一个tkinter组件,表示一个矩形的区域。Frame一般作为容器使用,可以放置其他组件,从而实现复杂的布局。---个人理解就是第一个程序的进化版,通过Application这个组件或者叫容器,将各个组件组合到一起,放到Tk()这个主窗口上,完成一个程序。之所以要用application,就是体现面向对象编程。
第一个程序的进化版:
"""写一个经典的,面向对象的第一个GUI程序"""
from tkinter import *
from tkinter import messagebox
class Application(Frame):
"""一个经典的GUI程序的类的写法"""
def __init__(self, master=None):
super().__init__(master) # super()代表的是父类的定义,而不是父类对象
self.master = master
self.pack()
self.createWidget()
def createWidget(self):
self.bt01 = Button(self)
self.bt01["text"] = "请点击我"
self.bt01["command"] = self.biaobai
self.bt01.pack()
#创建退出按钮
self.btQuit = Button(self, text="退出", command=root.destroy)
self.btQuit.pack()
def biaobai(self):
messagebox.showinfo("表白", "I love you")
if __name__ == ‘__main__‘:
root = Tk()
root.geometry("400x100+200+300")
root.title("一个经典的GUI程序类的测试")
app = Application(master=root)
root.mainloop()
------------恢复内容结束------------
原文:https://www.cnblogs.com/dangjingwei/p/12263629.html