内容正文:
编写说明:考虑到中职学生普遍基础知识相对薄弱的情况,我们依据支架式教学理念,精心编制了《程序设计基础-Pyhton》(高等教育出版社)一课一练。专辑里的每一份练习,都与课堂所授知识点紧密相关,题目围绕课堂所学知识点呈现。目的在于激发学生的学习兴趣,培养他们的学习自觉性,帮助学生扎实掌握课程的基本概念与基本方法,为他们后续的进一步提升奠定坚实基础。
本卷是《程序设计基础-Python》(高等教育出版社)一课一练的第七单元GUI界面设计的第7练,内容涵盖第七单元bind绑定事件相关内容。
《程序设计基础-Python》(高等教育出版社)第7练
第7单元 GUI界面设计
子任务七 bind绑定事件
1、 单项选择题(本题共4小题)
1. bind方法的语法格式是( )
A. widget.bind(func, "<ButtonPress-1>")
B. bind(widget, "<ButtonPress-1>", func)
C. widget.bind("<ButtonPress-1>", func)
D. widget.bind("<ButtonPress-1>", func, args)
【答案】C
【解析】bind方法的语法为 widget.bind("<ButtonPress-1>", func) ,其中 widget 是控件对象, <ButtonPress-1>是事件码, func 是事件处理函数,故答案为C。
2. 下列事件码中,代表“单击鼠标左键”的是( )
A. <KeyPress> B. <ButtonPress-1>
C. <UP> D. <Down>
【答案】B
【解析】鼠标事件码中,<ButtonPress-1>代表单击鼠标左键,1=左键、2=中间滑轮、3=右键,故答案为B。
3. event对象中,用于获取“发生事件的控件”的属性是( )
A. widget B. control
C. obj D. source
【答案】A
【解析】event对象的 widget 属性“表示发生事件的控件”,如 event.widget 可获取触发事件的Button/Label等控件,故答案为A。
4. 下列代码中,为Entry控件绑定“按下回车键触发函数”的是( )
A. entry.bind(" <Return> ", fun) B. entry.bind("<Down>", fun)
C. entry.bind("<ButtonPress-3> ", fun) D. entry.bind("<Right>", fun)
【答案】A
【解析】 <Return> 是回车键的事件码
二、判断题(本题共3小题)
1. bind方法绑定的事件处理函数必须接收一个 event 参数,用于获取事件相关信息。( )
【答案】正确
【解析】bind绑定的函数语法为 def func(event): 代码块 , event 参数不可省略,用于传递事件信息,故正确。
2. <Double-Button-1>事件码代表“双击鼠标左键”,其中 Double 是事件修饰符,代表事件连续发生两次。( )
【答案】正确
【解析】Double 是修饰符表示事件连续两次, Button 是类型, 1 是细节,故 代表双击左键,正确。
3. bind方法只能为控件绑定事件,不能为根窗口绑定事件。( )
【答案】错误
【解析】root.bind("<ButtonPress-3>", fun) 为根窗口绑定了鼠标单击事件,说明根窗口也可通过bind绑定事件,故错误。
三、简答题(本题共2小题)
1. 简述bind方法中事件码常用的修饰符。
【答案】
属性
说明
Ctrl
事件发生时需按下Control键
Alt
事件发生时需按下Alt键
Shift
事件发生时需按下Shift键
Lock
事件发生时需处于大写锁定状态
Double
事件连续发生两次,如双击
2. 列举至少3个常用常用的事件类型。
【答案】
事件码
说明
<ButtonPress-1>
单击鼠标左键,简写为 <Button-1> ,后面的数字可以是1/2/3,分别代表左键、中间滑轮、右键
<KeyPress>
按下键盘上的任意键,简写为 <Key>
<KeyPress-字母/数字>
按下键盘上的某个字母或者数字键
<Return>
回车键,其他同类型键有 <Shift> / <Tab> / <Control> / <Alt>
<UP> / <Down> / <Left> / <Right>
方向键
四、编程题(本题共1小题)
编写代码创建一个窗口,包含1个Label控件,文本为“点击鼠标移动我”,字体“宋体”12号,背景色“#F0F8FF”。要求:① 用bind方法为根窗口绑定<ButtonPress-1>事件:点击鼠标移动文字;② Label初始位置在窗口(100, 100)处。
【答案】
from tkinter import *
# 创建主窗口
root = Tk()
root.title("点击移动Label")
root.geometry("600x400") # 设置窗口大小,方便操作
# 创建Label控件(匹配文本、字体、背景色要求)
label = Label(
root,
text="点击鼠标移动我",
font=("宋体", 12), # 字体:宋体12号
bg="#F0F8FF" # 背景色:#F0F8FF
)
# 设置Label初始位置为(100, 100)
label.place(x=100, y=100)
# <ButtonPress-1>事件处理函数:点击鼠标时移动Label到点击位置
def move_to_click(event):
# event.x/event.y 是鼠标相对于窗口的坐标,直接设置为Label的左上角坐标
label.place(x=event.x, y=event.y)
# 为根窗口绑定<ButtonPress-1>事件(鼠标左键点击事件)
root.bind("<ButtonPress-1>", move_to_click)
# 启动主循环
root.mainloop()
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
$
编写说明:考虑到中职学生普遍基础知识相对薄弱的情况,我们依据支架式教学理念,精心编制了《程序设计基础-Pyhton》(高等教育出版社)一课一练。专辑里的每一份练习,都与课堂所授知识点紧密相关,题目围绕课堂所学知识点呈现。目的在于激发学生的学习兴趣,培养他们的学习自觉性,帮助学生扎实掌握课程的基本概念与基本方法,为他们后续的进一步提升奠定坚实基础。
本卷是《程序设计基础-Python》(高等教育出版社)一课一练的第七单元GUI界面设计的第7练,内容涵盖第七单元bind绑定事件相关内容。
《程序设计基础-Python》(高等教育出版社)第7练
第7单元 GUI界面设计
子任务七 bind绑定事件
1、 单项选择题(本题共4小题)
1. bind方法的语法格式是( )
A. widget.bind(func, "<ButtonPress-1>")
B. bind(widget, "<ButtonPress-1>", func)
C. widget.bind("<ButtonPress-1>", func)
D. widget.bind("<ButtonPress-1>", func, args)
2. 下列事件码中,代表“单击鼠标左键”的是( )
A. <KeyPress> B. <ButtonPress-1>
C. <UP> D. <Down>
3. event对象中,用于获取“发生事件的控件”的属性是( )
A. widget B. control
C. obj D. source
4. 下列代码中,为Entry控件绑定“按下回车键触发函数”的是( )
A. entry.bind(" <Return> ", fun) B. entry.bind("<Down>", fun)
C. entry.bind("<ButtonPress-3> ", fun) D. entry.bind("<Right>", fun)
二、判断题(本题共3小题)
1. bind方法绑定的事件处理函数必须接收一个 event 参数,用于获取事件相关信息。( )
2. <Double-Button-1>事件码代表“双击鼠标左键”,其中 Double 是事件修饰符,代表事件连续发生两次。( )
3. bind方法只能为控件绑定事件,不能为根窗口绑定事件。( )
三、简答题(本题共2小题)
1. 简述bind方法中事件码常用的修饰符。
2. 列举至少3个常用常用的事件类型。
四、编程题(本题共1小题)
编写代码创建一个窗口,包含1个Label控件,文本为“点击鼠标移动我”,字体“宋体”12号,背景色“#F0F8FF”。要求:① 用bind方法为根窗口绑定<ButtonPress-1>事件:点击鼠标移动文字;② Label初始位置在窗口(100, 100)处。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
$