本文主要介绍Python中实现GUI的Tkinter模块以及模块中的控件及其使用

1、图形化界面设计的基本理解

Python自带了tkinter 模块,面向对象的GUI工具包 TK 的Python编程接口,提供了快速便利地创建GUI应用程序的方法。

其图像化编程的基本步骤通常包括:

  • 导入 tkinter 模块
  • 创建 GUI 根窗体
  • 添加人机交互控件并编写相应的函数。
  • 在主事件循环中等待用户触发事件响应。

2、窗体控件布局

2.1   根窗体是图像化应用程序的根控制器,是tkinter的底层控件的实例。

  • 当导入tkinter模块后,调用 Tk()方法可初始化一个根窗体实例 root ,用 title() 方法可设置其标题文字,用geometry()方法可以设置窗体的大小(以像素为单位)。将其置于主循环中,除非用户关闭,否则程序始终处于运行状态。

  • 执行该程序,一个窗体就呈现出来了。在这个主循环的根窗体中,可持续呈现中的其他可视化控件实例,监测事件的发生并执行相应的处理程序。

  • 下面是根窗体呈现示例:

from tkinter import *root = Tk()
root.title('我的第一个Python窗体')
root.geometry('380x240')  # 这里的乘号不是 * ,而是小写英文字母 x
root.mainloop()

效果:

2.2  tkinter 常用控件

  • 常用控件:

  • 常用的10 多种,如下:
控件 名称 作用
Button 按钮 单击触发事件
Canvas 画布 绘制图形或绘制特殊控件
Checkbutton 复选框 多项选择
Entry 输入框 接收单行文本输入
Frame 框架 用于控件分组
Label 标签 单行文本显示
Lisbox 列表框 显示文本列表
Menu 菜单 创建菜单命令
Message 消息 多行文本标签,与Label 用法类似
Radiobutton 单选按钮 从互斥的多个选项中做单项选择
Scale 滑块 默认垂直方向,鼠标拖动改变数值形成可视化交互
Scrollbar 滑动条

默认垂直方向,课鼠标拖动改变数值

可与 Text、Lisbox、Canvas等控件配合移动可视化空间

Text 文本框 接收或输出显示多行文本
Toplevel 新建窗体容器 在顶层创建新窗体
  • 控件的共同属性

  • 在窗体上呈现的可视化控件,通常包括尺寸、颜色、字体、相对位置、浮雕样式、图标样式和悬停光标形状等共同属性。不同的控件由于形状和功能不同,又有其特征属性。在初始化根窗体和根窗体主循环之间,可实例化窗体控件,并设置其属性。父容器可为根窗体或其他容器控件实例。常见的控件共同属性如下表:

    属性 说明 取值
    anchor 文本起始位置 CENTER(默认),E,S,W,N,NE,SE,SW,NW
    bg 背景色
    bd 加粗(默认 2 像素)
    bitmap 黑白二值图标 网上查找
    cursor 鼠标悬停光标 网上查找
    font 字体
    fg 前景色
    height 高(文本控件的单位为行,不是像素)
    image 显示图像
    justify 多行文本的对其方式 CENTER(默认),LEFT,RIGHT,TOP,BOTTOM
    padx 水平扩展像素
    pady 垂直扩展像素
    relief 3D浮雕样式 FLAT,RAISED,SUNKEN,GROOVE,RIDGE
    state 控件实例状态是否可用 NORMAL(默认),DISABLED
    width 宽(文本控件的单位为行,不是像素)
  • 标签及常见属性示例

from tkinter import *root = Tk()
root.title('标签')
lb = Label(root, text='我是第一个标签',bg='#d3fbfb',fg='red',font=('华文新魏', 32),width=20, height=2,relief=SUNKEN)
lb.pack()
root.mainloop()

其中,标签实例lb 在父容器root中实例化,具有代码中所示的text(文本)、bg(背景色)、fg(前景色)、font(字体)、width(宽,默认以字符为单位)、height(高,默认以字符为单位)和 relief(浮雕样式)等一系列属性。

在实例化控件时,实例的属性可以“属性=属性值”的形式枚举列出,不区分先后次序。

例如:“ text='我是第一个标签' ”显示标签的文本内容,“bg='#d3fbfb'”设置背景色为十六进制数RGB色 #d3fbfb等等。属性值通常用文本形式表示。

当然如果这个控件实例只需要一次性呈现,也可以不必命名,直接实例化并布局呈现出来

属性 relief 为控件呈现出来的3D浮雕样式,有 FLAT(平的)、RAISED(凸起的)、SUNKEN(凹陷的)、GROOVE(沟槽状边缘)和 RIDGE(脊状边缘) 5种。

Python实现交互窗口功能(Tkinter;面向对象的图形化用户界面(GUI)模块)(一)相关推荐

  1. 如何打开python的交互窗口-Python多版本情况下四种快速进入交互式命令行的操作技巧...

    原标题:Python多版本情况下四种快速进入交互式命令行的操作技巧 因为工作需求或者学习需要等原因,部分小伙伴的电脑中同时安装了Python2和Python3,相信在Python多版本的切换中常常会遇 ...

  2. 利用 Tkinter 打造专属图形化界面:设计签名

    大家好,今天本期带着大家制作一个属于自己的GUI图形化界面:用于设计签名的哦(效果如下图),是不是感觉很好玩,是不是很想学习呢? 限于篇幅,今天我们首先详细讲述一下Tkinter的使用方法.本来不准备 ...

  3. python做桌面应用程序_Python如何实现图形化界面制作为桌面软件?

    我觉得这个问题提的有点不清楚,从两个角度理解吧. 1. Python图形化开发,我觉得第1个回答满对的,我再详细说说. 2. Python程序打包,其实是第2个回答的内容,少了平台的限定,如果只是wi ...

  4. 如何打开python的交互窗口-使用Python显示图形交互窗口

    Python部落组织翻译,禁止转载,欢迎转发 欢迎来到我们的新Python编程的文章! 今天我们将看到如何使用python编程显示一个交互的图形窗口. 在这篇文章中,我们将打印公共ip网络作为一个例子 ...

  5. Python中Tkinter 图形化界面设计(详细教程)

    Python-Tkinter 图形化界面设计(详细教程) 一.图形化界面设计的基本理解 二. 窗体控件布局 2.1 根窗体呈现示例 2.2 tkinter 常用控件 2.2.1常用控件 2.2.2 控 ...

  6. gui设置可编辑文本框的回调函数_用Tkinter制作Python程序的图形用户界面(GUI),打包后比Qt5减少60M(77.5%)(实例63)...

    实例61使用PyQt5制作了图形用户界面(GUI).这个香是香,但是打包后的安装文件太大(约80M),感觉有些美中不足啊.由于这个GUI实在简单,从现实角度实在用不着高大上的PyQt5,所以改用Pyt ...

  7. button点击后出现的边框_用Tkinter制作Python程序的图形用户界面(GUI),打包后比Qt5减少60M(77.5%)(实例63)...

    实例61使用PyQt5制作了图形用户界面(GUI).这个香是香,但是打包后的安装文件太大(约80M),感觉有些美中不足啊.由于这个GUI实在简单,从现实角度实在用不着高大上的PyQt5,所以改用Pyt ...

  8. 如何打开python的终端窗口,python程序窗口怎么打开

    python软件如何开启 谷歌人工智能写作项目:小发猫 python怎么打开一个终端窗口 如何进入python交互界面 Python交互模式有两种:图形化的交互模式或者命令行的交互模式.打开步骤:首先 ...

  9. python图形界面教程(tkinter)

    1.图形化界面设计的基本理解 当前流行的计算机桌面应用程序大多数为图形化用户界面(Graphic User Interface,GUI),即通过鼠标对菜单.按钮等图形化元素触发指令,并从标签.对话框等 ...

最新文章

  1. Mysql binlog日志及binlog恢复数据库操作
  2. 无法下载linux系统的驱动精灵,有没有LINUX版的 驱动精灵 破系统搞驱动太费劲,尤其笔记本电脑...
  3. fastdfs笔记_fastDFS 命令笔记-阿里云开发者社区
  4. 387. First Unique Character in a String QuestionEditorial Solution
  5. 数据结构—— 基于二叉树的算术表达式求值
  6. php+ksort+返回true,PHP preg_replace函数
  7. 数据特征分析-帕累托分析
  8. Android 创建文件,删除文件,加载本地txt文件,string转txt文件,创建文件夹,读取文件夹,open failed: ENOENT
  9. js-JavaScript高级程序设计学习笔记1
  10. c++调试窗口不见了_Sublime Text配置GDB调试环境
  11. 【CSS】 CSS基础知识 属性和选择
  12. java工程师可能需要的视频
  13. pythonmapdel_地质男转行学遥感Python——遥感数据裁剪的具体实现
  14. window xp共享文件夹
  15. 内存(主存)(一般指电脑内存条)包含RAM(SRAM,DRAM),ROM,高速缓存(CACHE),SDRAM,DDRRAM
  16. SkeyeLive同屏直播库库功能介绍和接口说明与调用
  17. 1183: 【入门】判断能否构成三角形
  18. 重磅|棱镜七彩同CNCERT联合发布开源软件供应链安全风险研究报告了!!
  19. WINDOWS系统“资源管理器”进程选项关闭之后的解决方法
  20. 时序分析 44 -- 时序数据转为空间数据 (三) 格拉姆角场 python 实践 (上)

热门文章

  1. JDK 每半年就会更新一次新特性,再不掌握就要落伍了:JDK8 的新特性
  2. 苹果cms10的php.ini目录列表,苹果cmsV10采集插件 安装包(解压后查看教程)
  3. NETPACK使用说明
  4. 设计师、游戏建模师电脑配置推荐,史上最全的配置单
  5. C语言 const、static、volatile等关键字的作用
  6. java map分组_java8快速实现List转map 、分组、过滤等操作
  7. “全国大学生计算机等级考试一级”英语翻译
  8. Vue中export和export default的区别和用法
  9. 矩阵基础 (3). 分块矩阵的加法和乘法运算
  10. 【线性代数】从矩阵分块的角度理解矩阵乘法