Python实现交互窗口功能(Tkinter;面向对象的图形化用户界面(GUI)模块)(一)
本文主要介绍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)模块)(一)相关推荐
- 如何打开python的交互窗口-Python多版本情况下四种快速进入交互式命令行的操作技巧...
原标题:Python多版本情况下四种快速进入交互式命令行的操作技巧 因为工作需求或者学习需要等原因,部分小伙伴的电脑中同时安装了Python2和Python3,相信在Python多版本的切换中常常会遇 ...
- 利用 Tkinter 打造专属图形化界面:设计签名
大家好,今天本期带着大家制作一个属于自己的GUI图形化界面:用于设计签名的哦(效果如下图),是不是感觉很好玩,是不是很想学习呢? 限于篇幅,今天我们首先详细讲述一下Tkinter的使用方法.本来不准备 ...
- python做桌面应用程序_Python如何实现图形化界面制作为桌面软件?
我觉得这个问题提的有点不清楚,从两个角度理解吧. 1. Python图形化开发,我觉得第1个回答满对的,我再详细说说. 2. Python程序打包,其实是第2个回答的内容,少了平台的限定,如果只是wi ...
- 如何打开python的交互窗口-使用Python显示图形交互窗口
Python部落组织翻译,禁止转载,欢迎转发 欢迎来到我们的新Python编程的文章! 今天我们将看到如何使用python编程显示一个交互的图形窗口. 在这篇文章中,我们将打印公共ip网络作为一个例子 ...
- Python中Tkinter 图形化界面设计(详细教程)
Python-Tkinter 图形化界面设计(详细教程) 一.图形化界面设计的基本理解 二. 窗体控件布局 2.1 根窗体呈现示例 2.2 tkinter 常用控件 2.2.1常用控件 2.2.2 控 ...
- gui设置可编辑文本框的回调函数_用Tkinter制作Python程序的图形用户界面(GUI),打包后比Qt5减少60M(77.5%)(实例63)...
实例61使用PyQt5制作了图形用户界面(GUI).这个香是香,但是打包后的安装文件太大(约80M),感觉有些美中不足啊.由于这个GUI实在简单,从现实角度实在用不着高大上的PyQt5,所以改用Pyt ...
- button点击后出现的边框_用Tkinter制作Python程序的图形用户界面(GUI),打包后比Qt5减少60M(77.5%)(实例63)...
实例61使用PyQt5制作了图形用户界面(GUI).这个香是香,但是打包后的安装文件太大(约80M),感觉有些美中不足啊.由于这个GUI实在简单,从现实角度实在用不着高大上的PyQt5,所以改用Pyt ...
- 如何打开python的终端窗口,python程序窗口怎么打开
python软件如何开启 谷歌人工智能写作项目:小发猫 python怎么打开一个终端窗口 如何进入python交互界面 Python交互模式有两种:图形化的交互模式或者命令行的交互模式.打开步骤:首先 ...
- python图形界面教程(tkinter)
1.图形化界面设计的基本理解 当前流行的计算机桌面应用程序大多数为图形化用户界面(Graphic User Interface,GUI),即通过鼠标对菜单.按钮等图形化元素触发指令,并从标签.对话框等 ...
最新文章
- Mysql binlog日志及binlog恢复数据库操作
- 无法下载linux系统的驱动精灵,有没有LINUX版的 驱动精灵 破系统搞驱动太费劲,尤其笔记本电脑...
- fastdfs笔记_fastDFS 命令笔记-阿里云开发者社区
- 387. First Unique Character in a String QuestionEditorial Solution
- 数据结构—— 基于二叉树的算术表达式求值
- php+ksort+返回true,PHP preg_replace函数
- 数据特征分析-帕累托分析
- Android 创建文件,删除文件,加载本地txt文件,string转txt文件,创建文件夹,读取文件夹,open failed: ENOENT
- js-JavaScript高级程序设计学习笔记1
- c++调试窗口不见了_Sublime Text配置GDB调试环境
- 【CSS】 CSS基础知识 属性和选择
- java工程师可能需要的视频
- pythonmapdel_地质男转行学遥感Python——遥感数据裁剪的具体实现
- window xp共享文件夹
- 内存(主存)(一般指电脑内存条)包含RAM(SRAM,DRAM),ROM,高速缓存(CACHE),SDRAM,DDRRAM
- SkeyeLive同屏直播库库功能介绍和接口说明与调用
- 1183: 【入门】判断能否构成三角形
- 重磅|棱镜七彩同CNCERT联合发布开源软件供应链安全风险研究报告了!!
- WINDOWS系统“资源管理器”进程选项关闭之后的解决方法
- 时序分析 44 -- 时序数据转为空间数据 (三) 格拉姆角场 python 实践 (上)
热门文章
- JDK 每半年就会更新一次新特性,再不掌握就要落伍了:JDK8 的新特性
- 苹果cms10的php.ini目录列表,苹果cmsV10采集插件 安装包(解压后查看教程)
- NETPACK使用说明
- 设计师、游戏建模师电脑配置推荐,史上最全的配置单
- C语言 const、static、volatile等关键字的作用
- java map分组_java8快速实现List转map 、分组、过滤等操作
- “全国大学生计算机等级考试一级”英语翻译
- Vue中export和export default的区别和用法
- 矩阵基础 (3). 分块矩阵的加法和乘法运算
- 【线性代数】从矩阵分块的角度理解矩阵乘法