截止到本篇笔记,我们之前学习的都是基于控制台的程序,程序和用户的交互通过控制台来完成。这种方式最适合的是程序开发人员。而现实中更多地人是需要通过类似Windows操作系统这样的交互界面来使用计算机及其相关产品。
图形用户界面编程,简称为GUI(GraphicsUserInterface)就成为任何一门编程语言所必备的配置。
GUI程序
importtkinterfromtkinterimportmessageboxroot=Tk()#通过类Tk的无参构造函数,创建应用程序主窗口对象bnt01=tkinter.Button(root)#在主窗口添加一个按钮bnt01[text]=点我就送花#给按钮命名bnt01.pack()#按钮采用压缩布局的方式存放在主窗口#命名事件,响应用户操作所触发的事件defsonghua(e):messagebox.showinfo(Message,送你一朵玫瑰花,请你爱上我)print(送你朵玫瑰花)bnt01.bind(Button-1,songhua)#绑定按钮与事件,Button-1表示鼠标单击root.mainloop()#调用组件的mainloop方法,进入事件循环
看看运行效果:
需用引入tkinter;分为六个环节:创建主窗口对象、添加组件、绑定主窗口与组件、定义事件、绑定组件与事件、调用窗口显示循环事件。Python常用GUI库
Tkintertkinter(Tkinterface)是Python的标准GUI库,支持跨平台的GUI程序开发。tkinter适合小型的GUI程序编写,也特别适合初学者学习GUI编程。
wxPythonwxPython是比较流行的GUI库,适合大型应用程序开发,功能强于tkinter,整体设计框架类似于MFC(MicrosoftFoundationClasses微软基础类库)。
PyQTQt是一种开源的GUI库,适合大型GUI程序开发,PyQT是Qt工具包标准的Python实现。我们也可以使用QtDesginer界面设计器快速开发GUI应用程序。
步骤一、创建主窗口对象
通过print(id(root))打印出4,所以主窗口对象已经被创建;但看不到可视化的窗口。步骤二、创建按钮组件并实现与主窗口的绑定
通过看到按钮的ID值可以判断按钮组件已经被创建;但看不到可视化的窗口,不能判断组件与主窗口是否绑定。步骤三、定义事件并实现与按钮组件绑定
通过打印的函数对象ID可以看到事件已经被创建;但看不到可视化的窗口,不能判断组件与事件是否绑定。步骤四、实现可视化
通过root.mainloop()可以实现主窗口对象的可视化,点击按钮“点我就送花”就弹出:
总结
Python是通过GUI库实现GUI编程;Python的GUI编程需要四个步骤。