第7单元 第5练 空间布局管理《程序设计基础-Python》(高教版)一课一练

2026-02-02
| 2份
| 6页
| 38人阅读
| 1人下载

内容正文:

编写说明:考虑到中职学生普遍基础知识相对薄弱的情况,我们依据支架式教学理念,精心编制了《程序设计基础-Pyhton》(高等教育出版社)一课一练。专辑里的每一份练习,都与课堂所授知识点紧密相关,题目围绕课堂所学知识点呈现。目的在于激发学生的学习兴趣,培养他们的学习自觉性,帮助学生扎实掌握课程的基本概念与基本方法,为他们后续的进一步提升奠定坚实基础。 本卷是《程序设计基础-Python》(高等教育出版社)一课一练的第七单元GUI界面设计的第5练,内容涵盖第七单元控件布局管理相关内容。 《程序设计基础-Python》(高等教育出版社)第5练 第7单元 GUI界面设计 子任务五 控件布局管理 1、 单项选择题(本题共4小题) 1. 下列布局方式中,适合制作表格类界面的是(  ) A. pack   B. grid   C. place   D. 三种都适合 2. pack布局中,设置控件沿窗口左侧排列的属性是(  ) A. side="left"    B. align="left"    C. anchor="w"    D. direction="left"  3. grid布局中, columnspan 属性的作用是(  ) A. 设置控件所在的列号   B. 设置控件占的列数   C. 设置控件与列边缘的距离   D. 设置列的宽度 4. place布局中,若要将控件放置在窗口(宽500,高300)的中心位置(控件宽100,高50),下列参数设置正确的是(  ) A. x=200, y=125, width=100, height=50    B. x=250, y=150, width=100, height=50  C. x=100, y=50, width=100, height=50    D. x=0, y=0, width=100, height=50  二、判断题(本题共3小题) 1. pack布局的 fill="both" 属性表示控件在水平和垂直方向都跟随父容器拉伸。(  ) 2. grid布局中,控件的行号和列号必须从0开始,且不能跳过。(  ) 3. place布局的 x 和 y 属性是相对于父容器左上角的坐标,单位为像素,与控件的实际尺寸无关。(  ) 三、简答题(本题共2小题) 1. 简述pack、grid、place三种布局方式的核心特点及适用场景。 2. 列举grid布局的至少5个常用参数及作用。 四、编程题(本题共1小题) 编写代码创建一个窗口,用grid布局实现以下界面:① 1个Label控件里面文本为“学生成绩录入”,字体“宋体”16号,跨3列,位于第0行第0列;② 2个Label控件里面文本分别为“姓名:”“成绩:”,分别位于第1行第0列、第2行第0列;③ 2个宽20的Entry控件,分别位于第1行第1列、第2行第1列要求成绩Entry只允许输入数字;④ 2个Button控件一个设置为“提交”另一个设置为“重置”,分别位于第3行第1列、第3行第2列;⑤ 所有控件的 padx 和 pady 均为10像素。 设置效果如图所示: 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 $ 编写说明:考虑到中职学生普遍基础知识相对薄弱的情况,我们依据支架式教学理念,精心编制了《程序设计基础-Pyhton》(高等教育出版社)一课一练。专辑里的每一份练习,都与课堂所授知识点紧密相关,题目围绕课堂所学知识点呈现。目的在于激发学生的学习兴趣,培养他们的学习自觉性,帮助学生扎实掌握课程的基本概念与基本方法,为他们后续的进一步提升奠定坚实基础。 本卷是《程序设计基础-Python》(高等教育出版社)一课一练的第七单元GUI界面设计的第5练,内容涵盖第七单元控件布局管理相关内容。 《程序设计基础-Python》(高等教育出版社)第5练 第7单元 GUI界面设计 子任务五 控件布局管理 1、 单项选择题(本题共4小题) 1. 下列布局方式中,适合制作表格类界面的是(  ) A. pack   B. grid   C. place   D. 三种都适合 【答案】B 【解析】grid布局采用“行列网格”结构,通过 row 和 column 确定控件位置,适合规整的表格类布局;pack按顺序排列,place按绝对位置,均不适合表格,故答案为B。 2. pack布局中,设置控件沿窗口左侧排列的属性是(  ) A. side="left"    B. align="left"    C. anchor="w"    D. direction="left"  【答案】A 【解析】pack布局的 side 属性用于指定控件的排列方向,可选“left”、“right”、“top”、“bottom”,默认“top”; anchor 用于控件在父容器中的对齐方式,故答案为A。 3. grid布局中, columnspan 属性的作用是(  ) A. 设置控件所在的列号   B. 设置控件占的列数   C. 设置控件与列边缘的距离   D. 设置列的宽度 【答案】B 【解析】grid布局的 columnspan 是“正整数,设置控件占的列数”。 4. place布局中,若要将控件放置在窗口(宽500,高300)的中心位置(控件宽100,高50),下列参数设置正确的是(  ) A. x=200, y=125, width=100, height=50    B. x=250, y=150, width=100, height=50  C. x=100, y=50, width=100, height=50    D. x=0, y=0, width=100, height=50  【答案】A 【解析】place的 x / y 是控件左上角坐标,窗口中心的控件左上角坐标计算为:x=(窗口宽-控件宽)/2=(500-100)/2=200,y=(窗口高-控件高)/2=(300-50)/2=125,故答案为A。 二、判断题(本题共3小题) 1. pack布局的 fill="both" 属性表示控件在水平和垂直方向都跟随父容器拉伸。(  ) 【答案】正确 2. grid布局中,控件的行号和列号必须从0开始,且不能跳过。(  ) 【答案】错误 【解析】grid的 row 和 column 是“非负整数”,允许跳过行号/列号,未设置的行/列会自动调整高度/宽度为0,不影响布局,故错误。 3. place布局的 x 和 y 属性是相对于父容器左上角的坐标,单位为像素,与控件的实际尺寸无关。(  ) 【答案】正确 【解析】place的 x / y 是“控件基准点位于窗口左上角的横/纵坐标”,单位像素,仅确定控件位置,与控件尺寸 width / height 无关,故正确。 三、简答题(本题共2小题) 1. 简述pack、grid、place三种布局方式的核心特点及适用场景。 【答案】 ① pack布局:核心特点是“按添加顺序自动排列”,通过 side 、 fill 、 expand 控制布局;适用场景:少量控件的快速排序,无需精确控制位置的简单界面。 ② grid布局:核心特点是“按行列网格排列”,通过 row 、 column 、 columnspan 、 rowspan 确定位置; 适用场景:表格类界面、控件需要规整排列的场景。 ③ place布局:核心特点是“显式指定绝对位置或尺寸”,通过 x / y =、 width / height =精确控制; 适用场景:需要将控件固定在特定位置的场景,对位置精度要求高的界面。 2. 列举grid布局的至少5个常用参数及作用。 【答案】① row :非负整数,指定控件所在的行号,必选参数; ② column :非负整数,指定控件所在的列号,必选参数; ③ columnspan :正整数,设置控件占的列数; ④ rowspan :正整数,设置控件占的行数; ⑤ sticky :指定控件在单元格内的对齐方式,用N、S、W、E组合,默认居中; ⑥ padx :非负整数,控件与左右相邻控件或父容器边缘的距离; ⑦ pady :非负整数,控件与上下相邻控件或父容器边缘的距离; ⑧ ipadx :非负整数,控件内文本与控件左右边框的水平距离; ⑨ ipady :非负整数,控件内文本与控件上下边框的垂直距离。 四、编程题(本题共1小题) 编写代码创建一个窗口,用grid布局实现以下界面:① 1个Label控件里面文本为“学生成绩录入”,字体“宋体”16号,跨3列,位于第0行第0列;② 2个Label控件里面文本分别为“姓名:”“成绩:”,分别位于第1行第0列、第2行第0列;③ 2个宽20的Entry控件,分别位于第1行第1列、第2行第1列要求成绩Entry只允许输入数字;④ 2个Button控件一个设置为“提交”另一个设置为“重置”,分别位于第3行第1列、第3行第2列;⑤ 所有控件的 padx 和 pady 均为10像素。 设置效果如图所示: 【答案】 from tkinter import * root = Tk() root.title("学生成绩录入") root.geometry("400x250") title_lb = Label(root, text="学生成绩录入", font=("宋体", 16)) title_lb.grid(row=0, column=0, columnspan=3, padx=10, pady=10) # 姓名行 name_lb = Label(root, text="姓名:") name_lb.grid(row=1, column=0, padx=10, pady=10) name_entry = Entry(root, width=20) name_entry.grid(row=1, column=1, padx=10, pady=10) # 成绩行 score_lb = Label(root, text="成绩:") score_lb.grid(row=2, column=0, padx=10, pady=10) score_entry = Entry(root, width=20) def only_number(event): if not (event.char.isdigit() or event.keysym == "BackSpace"): return "break" # 阻止非数字输入 score_entry.bind("<KeyPress>", only_number) # 补充事件码 score_entry.grid(row=2, column=1, padx=10, pady=10) # 按钮行 submit_btn = Button(root, text="提交") submit_btn.grid(row=3, column=1, padx=10, pady=10) reset_btn = Button(root, text="重置") def reset(): name_entry.delete(0, END) score_entry.delete(0, END) reset_btn.config(command=reset) reset_btn.grid(row=3, column=2, padx=10, pady=10) root.mainloop() 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 $

资源预览图

第7单元 第5练  空间布局管理《程序设计基础-Python》(高教版)一课一练
1
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。