首页 > 其他 > 详细

十、GUI编程

时间:2020-02-05 17:23:21      阅读:78      评论:0      收藏:0      [点我收藏+]

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

 
Tkinter 的 GUI 组件关系图如下:

技术分享图片

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

技术分享图片

 

 

 

 






 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

------------恢复内容结束------------

十、GUI编程

原文:https://www.cnblogs.com/dangjingwei/p/12263629.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!