图形用户界面(简称GUI),是指采用图形方式显示的计算机操作用户界面。与计算机的命令行界面相比,图形界面对于用户的操作显得更加直观和简便。

一、tkinter模块

tkinter是Python的内置GUI模块。使用tkinter可以快速地创建GUI应用程序,而且IDLE也是用tkinter模块编写而成的。

import tkinter    #导入tkinter模块
win=tkinter.Tk()  #调用tkinter模块中的TK()方法,实例化一个窗口对象
win.geometry("250x130")#窗口对象调用geometry()方法,规划窗口大小
win.title("没有组件的窗体") 调用title()方法,设置窗口名称win.mainloop()    #进入消息循环

二、tkinter的常用组件

当主窗体生成后,向窗体里添加组件,这样就可以处理窗体及其内部组件的事件。

例如,使用tkinter向窗体添加“退出”按钮,其程序代码及测试效果如下所示。

import tkinter
win=tkinter.Tk()
win.geometry("300x200")
win.title("带退出按钮的窗体")#定义一个函数my_quit(),实现按钮的功能
def my_quit():win.quit()win.destroy()#退出按钮对象添加
#调用tkinter模块的Button()方法,实例化一个按钮对象
but_quit=tkinter.Button(win,text="退出",command=my_quit,width=10,height=2)
but_quit.pack() #按钮对象调用pack()方法,将这个组件添加到主窗体win.mainloop()

tkinter布局管理器能控制组件的位置摆放,提供三种布局方法,如下表所示。

三、tkinter模块的综合应用

在程序设计中,解决复杂问题的最有效方法是“自顶向下”的设计方法和“自底向上”的执行方法。

其基本思想是:首先将一个复杂问题分解为多个小问题,然后只需把处理这些小问题的解决方法组合起来,就可以得到整体的解决方案。

例如,运用Python的tkinter模块,设计的用户登录界面及测试效果如图所示。

1、设计思路

(1)设计基本框架

(2)设计提示标签、输入框和按钮

#设计提示标签 输入框 按钮
#设计两个提示标签
labname=tkinter.Label(win,text='账号',width=80)
labname=tkinter.Label(win,text='账号2',width=80)
labpwd=tkinter.Label(win,text='密码',width=80)
#设计两个输入框
entname=tkinter.Entry(win,width=100,textvariable=var_name)
entpwd=tkinter.Entry(win,width=100,textvariable=var_pwd)
entpwd=tkinter.Entry(win,width=100,show='*'textvariable=var_pwd)
#设计3个按钮
but_ok=tkinter.Button(win,text='登录',command=login)
but_cancel=tkinter.Button(win,text='重置',command=cancel)
but_quit=tkinter.Button(win,text='退出',command=_quit)

(3)设计功能函数

#------功能代码开始-------------
#--设计功能函数----
var_name=tkinter.StringVar()
var_name.set('')
var_pwd=tkinter.StringVar()
var_pwd.set('')def login():name=var_name.get()pwd=var_pwd.get()if name=='admin' and pwd=='admin123':tkinter.messagebox.showinfo(title='用户登录',message='成功')else:tkinter.messagebox.showinfo(title='用户登录',message='失败!')def cancel():var_name.set('')var_pwd.set('')def _quit():win.quit()win.destroy()

(4)设计组件布局

#--登录窗口各组件布局--
#组件的窗口布局
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)

(5)完整程序组合

import tkinter    #导入tkinter模块
import tkinter.messagebox
win=tkinter.Tk()  #生成一个主窗体对象
win.geometry("250x130")#窗体大小
win.title("用户登录")#------功能代码开始-------------
#--设计功能函数----
var_name=tkinter.StringVar()
var_name.set('')
var_pwd=tkinter.StringVar()
var_pwd.set('')def login():name=var_name.get()pwd=var_pwd.get()if name=='admin' and pwd=='admin123':tkinter.messagebox.showinfo(title='用户登录',message='成功')else:tkinter.messagebox.showinfo(title='用户登录',message='失败!')def cancel():var_name.set('')var_pwd.set('')def _quit():win.quit()win.destroy()#设计提示标签 输入框 按钮
#设计两个提示标签
labname=tkinter.Label(win,text='账号',width=80)
labname=tkinter.Label(win,text='账号2',width=80)
labpwd=tkinter.Label(win,text='密码',width=80)
#设计两个输入框
entname=tkinter.Entry(win,width=100,textvariable=var_name)
entpwd=tkinter.Entry(win,width=100,textvariable=var_pwd)
entpwd=tkinter.Entry(win,width=100,show='*'textvariable=var_pwd)
#设计3个按钮
but_ok=tkinter.Button(win,text='登录',command=login)
but_cancel=tkinter.Button(win,text='重置',command=cancel)
but_quit=tkinter.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()    #进入消息循环

运行结果:

Python之tkinter图形界面设计学习二相关推荐

  1. python界面设计实例-【Python】Tkinter图形界面设计(GUI)

    简介 作为 Python 开发者,图形用户界面(GUI)开发是必备技能之一.目前,市面上支持 Python 的"GUI 工具包"很多,各有特点,虽然大多数工具包的基础类似,但要学习 ...

  2. 【Python】Tkinter图形界面设计(GUI)

    简介 作为 Python 开发者,图形用户界面(GUI)开发是必备技能之一.目前,市面上支持 Python 的"GUI 工具包"很多,各有特点,虽然大多数工具包的基础类似,但要学习 ...

  3. python中的图形界面设计_python图形化界面设计(tkinter)一全面介绍

    3.3.单选按钮:(Radiobutton)是为了响应故乡排斥的若干单选项的单击事件以触发运行自定义函数所设的,该控件排除具有共有属性外,还具有显示文本(text).返回变量(variable).返回 ...

  4. Python编程:Tkinter图形界面设计(2)

    一.Button控件 Button 控件是一个标准的 Tkinter 部件,用于实现各种按钮.按钮可以包含文本或图 像,还可以关联 Python 回调函数.Tkinter 的按钮被按下时,会自动调用回 ...

  5. Python编程:Tkinter图形界面设计(1)

    一.Tkinter的程序框架 窗口的生成和窗口的呈现,用Tk()和mainloop()包括起来,中间程序是附着在窗口的内部部件. ​ 二.窗口内容 窗口的内容,是最丰富的细节包括:1.几何尺寸 2.按 ...

  6. python之tkinter图形界面

    import tkinter as tk window = tk.Tk() window.title() window.geometry() l = tk.Lable() b = tk.Button( ...

  7. Python学习:图形界面设计01

    写在前面: 此博客仅用于记录个人学习进度,学识浅薄,若有错误观点欢迎评论区指出.欢迎各位前来交流.(部分材料来源网络,若有侵权,立即删除) 传送门: Python实现输入电影名字自动生成豆瓣评论词云图 ...

  8. Python图形界面设计(Tkinter库)

    文章目录 创建 Windows 窗口 几何布局管理器 pack 几何布局管理器 grid 几何布局管理器 place 几何布局管理器 Tkinter 组件 标签组件 Label 按钮组件 Button ...

  9. python写前端图形界面_如何Tkinter模块编写Python图形界面

    一.为何使用Tkinter而非PyQt 众所周知,在Python中创建图形界面程序有很多种的选择,其中PyQt和wxPython都是很热门的模块包,这些第三方的图形界面模块功能强大.配置丰富,界面美观 ...

最新文章

  1. 文巾解题 184. 部门工资最高的员工
  2. Cannot connect to database because the database client
  3. ResourceDictionary主题资源替换(二) :编译期间,替换主题资源
  4. 栈应用:后缀表达式求值
  5. 5.1.2 SELECT+INNER JOIN读取数据
  6. SAP License:SAP中的默认帐户与密码应用
  7. visual studio 自带的 宏 没反应_横山宏科幻动漫模型:插图造型怪异的胡佛战车欣赏...
  8. 如何把报表放到网页中显示(Web页面与报表简单集成例子)
  9. Appium移动自动化测试-----(一)Appium介绍
  10. Excel 2016新增函数之MaxIFS、MinIFS
  11. JavaScript运算符优先级
  12. 高级设计总监的设计方法论——5W1H需求分析法 KANO模型分析法
  13. Flutter圆形图片
  14. Android 自定义搜索框(带搜索图标、清除图标、语音图标)
  15. 京东商品如何批量修改?
  16. Variable used in lambda expression should be final or effectively final
  17. 【电驴傻瓜教程-我为人人,人人为我】
  18. 选择阿里云服务器的理由
  19. 精选七条关于人工智能的经典语录
  20. MySQL----多表查询

热门文章

  1. Axure8.0教程:换一批(随机)
  2. 计算离散点曲率的方法
  3. 4、MySQL 逻辑架构
  4. How to Perfectly Uninstall Spybot – Search Destroy
  5. 京东差评可以删除吗?京东100评价怎么显示?
  6. iphone 8什么时候上市将于9月12日揭晓!值得期待
  7. 用广义线性模型进行数据分析(上)
  8. 秋天是鲜红色的shooow
  9. CCL2022自然语言处理国际前沿动态综述——开放域对话生成前沿综述
  10. 拿到840万美金的亿方云,能代表企业存储的发展方向吗?