图形用户界面.ppt





《图形用户界面.ppt》由会员分享,可在线阅读,更多相关《图形用户界面.ppt(21页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、图形用户界面 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望2 2GUI编程编程首先首先:设计界面外观设计界面外观用什么构件用什么构件,怎么布局怎么布局其次其次:实现界面元素所对应的程序功能实现界面元素所对应的程序功能事件驱动事件驱动:功能代码的执行与构件关联功能代码的执行与构件关联,由针由针对构件的事件决定执行什么代码以及何时执对构件的事件决定执行什么代码以及何时执行行.3 3Tkinter事件描述事件描述事件描述事件描述类型符类型符:指定事件类型指定事件类型,
2、如如Button和和Key修饰符修饰符(可选可选):描述双击描述双击,组合键等组合键等细节符细节符(可选可选):指定具体鼠标或键盘按键指定具体鼠标或键盘按键例如例如4 4常用鼠标事件常用鼠标事件或或 或或:单单击左键击左键类似有类似有和和:按下左键并移动按下左键并移动类似有类似有和和:双击左键双击左键 和和:鼠鼠标标指指针针进进入入/离离开开构件区域构件区域5 5常用键盘事件常用键盘事件或或a:按下字母按下字母a可可打打印印字字符符都都类类似似,但但空空格格是是,小小于于号号是是注意注意:1和和不同不同!:按下回车键按下回车键非非 可可 打打 印印 字字 符符 都都 类类 似似,如如:,等等:
3、按下任意键按下任意键:同时按下同时按下Shift和和键键类似的有类似的有Alt组合、组合、Ctrl组合组合 6 6事件对象事件对象每个事件都创建一个每个事件都创建一个事件对象事件对象(Event类的实例类的实例),并将该对象传递给事件处理函数并将该对象传递给事件处理函数事件对象具有若干描述事件的属性事件对象具有若干描述事件的属性:x和和y:鼠标点击位置鼠标点击位置(相对于构件左上角相对于构件左上角)x_root和和y_root:鼠标点击位置鼠标点击位置(相对于屏幕左上角相对于屏幕左上角)num:点击的鼠标键号点击的鼠标键号(1、2、3)char:按下的字符按下的字符(ASCII);如果按下特殊
4、键则为空串如果按下特殊键则为空串keysym:按下的字符按下的字符(ASCII);如果按下特殊键则为该如果按下特殊键则为该键的名称键的名称(是个字符串是个字符串)7 7 7事件处理事件处理GUI应用程序在建立图形界面等初始化应用程序在建立图形界面等初始化工作后进入事件循环工作后进入事件循环,等待事件发生并触等待事件发生并触发绑定的事件处理程序发绑定的事件处理程序mainloop()方法方法:进入事件循环进入事件循环绑定绑定:建立事件与事件处理程序间的对应建立事件与事件处理程序间的对应8 8 8构件绑定事件构件绑定事件语法语法:.bind(,)语义语义:若针对若针对发生了与发生了与相匹配的事件相
5、匹配的事件,则调用则调用调用事件处理程序时调用事件处理程序时,系统传递系统传递Event对象作为实参对象作为实参.一般是由用户自定义的函数一般是由用户自定义的函数.这种函数在应用程序中定义但不由应用程序调用这种函数在应用程序中定义但不由应用程序调用,而是由系而是由系统调用统调用,一般称为回调一般称为回调(callback)函数函数GUI应用程序可封装为类应用程序可封装为类,这时事件处理程序常定义为应用这时事件处理程序常定义为应用程序类的方法程序类的方法.(详后详后)9 9 9例例:框架绑定鼠标事件框架绑定鼠标事件eg8_6.pyfrom Tkinter import*def callback(
6、event):print clicked at,event.x,event.yroot=Tk()f=Frame(root,width=100,height=100)f.bind(,callback)f.pack()root.mainloop()101010例例:按钮绑定键盘事件按钮绑定键盘事件按键时按键时,界面中哪个构件响应该键盘事件界面中哪个构件响应该键盘事件?占有界面占有界面焦点焦点的构件的构件.例例eg8_7.py:from Tkinter import*def printInfo(event):print pressed,event.charroot=Tk()b=Button(root
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图形 用户界面

限制150内