第三周笔记(2)

GUI图形用户界面编程

我们可以通过python提供的丰富的组件,快速的实现使用图形界面和用户交互

GUI编程类似于搭积木,将一个个组件放到窗口中

 

GUI编程整体描述

 想观察类的层次结构可以在类定义处的类名上单击右键,选择Diagram->showDiagram

常用组件汇总列表

GUI应用程序类的经典写法

 Frame框架是一个tkinter组件,表示一个矩形的区域,Frame一般作为容器使用,可以放置其他组件,从而实现复杂的布局

简单组件

Lable(标签)组件

主要用于显示文本信息,也可以显示图像

常见属性:

option选项详解

Entry单行文本框

Entry用来接收一行字符串的控件。如果用户输入的文字长度长于Entry控件的宽度时,文字会自动向后滚动。如果像输入多行文本,需要使用Text控件

 Text多行文本框

Text主要用于显示多行文本,还可以显示网页链接,图片,HTML页面,甚至CSS样式表,添加组件等。因此,也常被当做简单的文本处理器、文本编辑器或者网页浏览器来使用。比如IDLE就是Text组件构成的

Radiobutton单选按钮

Radiobutton控件用于选择同一组单选按钮的一个,Radiobutton可以显示文本,图形

 Checkbutton多选按钮

 canvas画布

canvas时一个矩形区域,可以放置图形、图像、组件等

 grid布局管理器

采用表格结构组织组件。子组件的位置由行和列的单元格来确定,并且可以跨行和跨列,从而实现复杂的布局。

pack布局管理器

pack按照组件的创建顺序将子组件添加到父组件中,按照垂直或者水平的方向自然排布。如果不指定任何选项,默认在父组件中自顶向下垂直添加组件。

pack是代码量最少,最简单的一种,可以用于快速生成界面

 place布局管理器

可以通过坐标精确控制组件的位置,适于一些布局更加灵活的场景

事件处理

一个GUI应用整个生命周期都处在一个消息循环中。它等待事件的发生,并作出相应的处理。

Tkinter提供了用以处理相关事件的机制,处理函数可被绑定给各个控件的各种事件

widget。bind(event,handler)

如果相关事件发生,handler函数会被触发,事件对象event会传递给handler函数

鼠标和键盘事件

event对象属性

 lambda表达式详解

lambda表达式定义的是一个匿名函数,只适合简单输入参数,简单你计算返回结果,不适合功能复杂情况

lambda定义的匿名函数有输入也有输出,只是没有名字。语法格式

lambda 参数值列表(输入):表达式(输出)

 多种事件绑定方式汇总

组件对象的绑定:

1.通过command属性绑定(适合简单不需获取event对象)

Button(root,text="登录",command=login)

2.通过bind()方法绑定,(适合需要获取event对象)

c1=Canvas();c1.bind("<Button-1>",drawLine)

组件类的绑定

调用对象的bind_class函数,将该组件类所有的组件绑定事件:

w.bind_class("Widget","event",eventhanler)

比如:btn01.bind_class("Button","<Button-1>",function)

 OptionMenu选择项

用来做多选一,选中的项在顶部显示

 Scale滑块

 颜色选择框

文件对话框

文件对话框帮助我们实现可视化的操作目录,操作文件。最后,将文件,目录的信息传入到程序中。

简单输入对话框

simpledialog包含如下常用函数

通用消息框

用于和用户简单的交互,用户点击确定、取消,如下为常用函数

 菜单

1.主菜单

主菜单通常位于GUI程序上方

 

2.快捷菜单

通过鼠标右键单击组件而弹出的菜单,一般是和这个组件相关的操作,比如剪切,复制,粘贴,属性等

 记事本项目

打开和保存文件

新建文件

 背景色改变

快捷键

 将python程序打包成exe文件

 画图软件的开发

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值