浙江教育出版社八(上)第15课 Python的图形界面设计 课件(15ppt)

资源下载
  1. 二一教育资源

浙江教育出版社八(上)第15课 Python的图形界面设计 课件(15ppt)

资源简介

(共15张PPT)
2021浙江教育出版社信息技术八(上)
第15课 Python的图形界面设计GUI
1
tkinter模块
2
tkinter模块常用组件
3
tkinter模块程序设计
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()指定组件的绝对位置 程序设计中,解决复杂问题的最有效方法是“自顶向下”的设计方法和“自底向上”的执行方法。
其基本思想:首先将一个复杂问题分解为多个小问题,然后只需把处理这些小问题的解决方法组合起来,就可以得到整体的解决方案。
3
tkinter模块程序设计
3
tkinter模块程序设计思路
#设计基本框架
import tkinter as tk
import tkinter.messagebox
win=tk.Tk()
win.title("用户登录")
win.geometry("250x130")
#-------功能代码开始-----
#-------功能代码结束-----
win.mainloop()
3
tkinter模块程序设计思路
#--登录窗口各组件设计--
#设计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)
3
tkinter模块程序设计思路
#设计功能函数
#设置变量
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()
3
tkinter模块程序设计思路
#--登录窗口各组件布局--
#组件的窗口布局
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)
3
tkinter模块程序设计思路
#设计基本框架
import tkinter as tk
import tkinter.messagebox
win=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课我们编写了“摄氏温度转成华氏温度”的程序,是文本模式。现要求改写成图形化界面模式。效果如图所示。
板书

展开更多......

收起↑

资源预览