资源简介 (共15张PPT)2021浙江教育出版社信息技术八(上)第15课 Python的图形界面设计GUI1tkinter模块2tkinter模块常用组件3tkinter模块程序设计4随堂练习CONTENT教学目标教学重点:图像化界面设计的基本步骤,tkinter常用组件的使用。教学难点:图形化界面的程序实现,String Var对象的使用。通过简单的GUI程序设计,了解tkinter模块的概念。了解常用组件,能够编写简单使用tkinter模块的应用程序.GUI:图形化界面设计Graphic User Interface简称GUI,通过鼠标对菜单】按钮等图像化元素触发指令并从标签、对话框等图像化显示容器中获取人机对话信息。步骤:导入模块——创建GUI主窗体——添加人机交互组件——编写函数——主事件循环中触发事件相应。一、tkinter模块:没有组件的窗体import tkinter # 导入tkinter模块win=tkinter.Tk() # 生成一个主窗体对象win.geometry("250x130")win.title("没有组件的窗体")win.mainloop() #进入消息循环该窗体可以最大化、最小化或关闭可以调整大小可以用方法geometry()及时刷新用方法mainloop()Tkinterd常用组件:带退出按钮的窗体import tkinter as tk # 导入tkinter模块并重命名为tkwin=tk.Tk() # 生成一个主窗体对象win.title("带退出按钮的窗体")win.geometry("250x130") #窗体大小#退出按钮事件处理函数def my_quit():win.quit()win.destory()#退出按钮对象添加but_quit=tk.Button(win,text="退出",command=my_quit,width=10,height=2)but_quit.pack()win.mainloop() #进入消息循环乘号另外复制粘贴进去250x1302tkinter模块常用组件组件名称描述Label标签可以显示文本和位图Entry输入组件用于显示简单的文本内容Text文本组件用于显示多行的文本内容Button按钮组件在程序中显示按钮tkinter模块常用组件tkinter组件的布局方法方法功能pack()即可实现水平排列,也可以实现垂直排列grid()按照行、列的方式摆放组件place()指定组件的绝对位置 程序设计中,解决复杂问题的最有效方法是“自顶向下”的设计方法和“自底向上”的执行方法。其基本思想:首先将一个复杂问题分解为多个小问题,然后只需把处理这些小问题的解决方法组合起来,就可以得到整体的解决方案。3tkinter模块程序设计3tkinter模块程序设计思路#设计基本框架import tkinter as tkimport tkinter.messageboxwin=tk.Tk()win.title("用户登录")win.geometry("250x130")#-------功能代码开始-----#-------功能代码结束-----win.mainloop()3tkinter模块程序设计思路#--登录窗口各组件设计--#设计2个提示标签labname=tk.Label(win,text="账号:",width=80)labpwd=tk.Label(win,text="密码:",width=80)#设计2个输入框(textvariable为文本框的值,并关联var_Name)entname=tk.Entry(win,width=100,textvariable=var_Name)entpwd=tk.Entry(win,show="*",width=100,textvariable=var_Pwd)#设计3个按钮but_Ok=tk.Button(win,text="登录",command=login)but_Cancel=tk.Button(win,text="重置",command=cancel)but_quit=tk.Button(win,text="退出",command=quit)3tkinter模块程序设计思路#设计功能函数#设置变量var_Name=tk.StringVar() #设置变量为StringVar对象var_Name.set("")var_Pwd=tk.StringVar()var_Pwd.set("")#按钮处理函数def login():name=var_Name.get() #获取用户名pwd=var_Pwd.get() #获取密码if name=="admin" and pwd=="python@16":tk.messagebox.showinfo(title="用户登录",message="成功!")else:tk.messagebox.showinfo(title="用户登录",message="失败!")def cancel():var_Name.set("") #清空用户名var_Pwd.set("")def_quit():win.quit()3tkinter模块程序设计思路#--登录窗口各组件布局--#组件的窗口布局labname.place(x=20,y=10,width=80,height=20)labpwd.place(x=20,y=40,width=80,height=20)entname.place(x=120,y=10,width=80,height=20)entpwd.place(x=120,y=40,width=80,height=20)but_Ok.place(x=30,y=80,width=50,height=20)but_Cancel.place(x=100,y=80,width=50,height=20)but_quit.place(x=170,y=80,width=50,height=20)3tkinter模块程序设计思路#设计基本框架import tkinter as tkimport tkinter.messageboxwin=tk.Tk()win.title("用户登录")win.geometry("250x130")#-------功能代码开始-----#设计功能函数#设置变量var_Name=tk.StringVar() #设置变量为StringVar对象var_Name.set("")var_Pwd=tk.StringVar()var_Pwd.set("")#按钮处理函数def login():name=var_Name.get() #获取用户名pwd=var_Pwd.get() #获取密码if name=="admin" and pwd=="python@16":tk.messagebox.showinfo(title="用户登录",message="成功!")else:tk.messagebox.showinfo(title="用户登录",message="失败!")def cancel():var_Name.set("") #清空用户名var_Pwd.set("") #清空密码def _quit():win.quit()win.destroy()#--登录窗口各组件设计--#设计2个提示标签labname=tk.Label(win,text="账号:",width=80)labpwd=tk.Label(win,text="密码:",width=80)#设计2个输入框(textvariable为文本框的值,并关联var_Name)entname=tk.Entry(win,width=100,textvariable=var_Name)entpwd=tk.Entry(win,show="*",width=100,textvariable=var_Pwd)#设计3个按钮but_Ok=tk.Button(win,text="登录",command=login)but_Cancel=tk.Button(win,text="重置",command=cancel)but_quit=tk.Button(win,text="退出",command=quit)#--登录窗口各组件布局--#组件的窗口布局labname.place(x=20,y=10,width=80,height=20)labpwd.place(x=20,y=40,width=80,height=20)entname.place(x=120,y=10,width=80,height=20)entpwd.place(x=120,y=40,width=80,height=20)but_Ok.place(x=30,y=80,width=50,height=20)but_Cancel.place(x=100,y=80,width=50,height=20)but_quit.place(x=170,y=80,width=50,height=20)#-------功能代码结束-----win.mainloop()完整程序组合4随堂练习:温度转换在第3课我们编写了“摄氏温度转成华氏温度”的程序,是文本模式。现要求改写成图形化界面模式。效果如图所示。板书 展开更多...... 收起↑ 资源预览