Python tkinter的grid布局及Text动态显示方法


Posted in Python onOctober 11, 2018

在python中gui编程有很多中选择,如果是相对简单的gui的话使用python自带的tkinter即可,但是由于tkinter没有详细的API文档,要使用起来比较麻烦,而且不够美观,如果是要求比较高的gui编程,推荐使用PyQt或者wxpython。

我在这里主要说一下tkinter中3种布局方式中的grid布局,在之前写个比较简单的软件的时候遇到了写问题,在此记录下来。

1. grid中的一些参数:需要声明的是,行列大小由该列/行中最大组件大小所决定!!

column:  对应的放置的所在的列序号
columnspan: 表示该组件需要横跨多少列
row:   对应的放置的所在的行序号
rowspan:  表示组件需要横跨多少行
ipadx:  需要注意,这个参数表示x方向的内部填充,即以内部颜色为标准向左右方向扩展
ipady:  同上
padx:  这个是表示x方向的外部填充
pady:  同上

例子如下:

import tkinter as tk 

windows = tk.Tk()
windows.geometry('500x500') ## 规定窗口大小500*500像素
windows.resizable(False, False) ## 规定窗口不可缩放
lab1 = tk.Label(windows, text='lab1', height=1, width=15, bg='blue', fg='white')
lab1.grid(row=0, column=0, padx=5, pady=5)
lab2 = tk.Label(windows, text='lab2', height=1, width=15, bg='blue', fg='white')
lab2.grid(row=0, column=1, ipadx=5, ipady=5)
lab3 = tk.Label(windows, text='lab3', height=1, width=15, bg='red', fg='white')
lab3.grid(row=0, column=2)
windows.mainloop()

Python tkinter的grid布局及Text动态显示方法

图片中lab1附近白色的部分就是外部填充的,根据外部颜色来向外扩展;lab2中明显蓝色变大,是内部填充,根据内部颜色向外扩展, 而lab3之所以看上去和lab1相同是因为第一行(row=0)的大小已经被lab1扩展了5个像素,所以lab3想当与一个小盒子放在大盒子里居中放置,看上去和lab1相同。

2. tkinter中Text的动态显示问题:

tkinter中的Text组件能够显示文本,我在做自然语言处理相关软件时经常用到,在这我之前遇到如何动态显示输出的情况。我的解决方法是使用Text组件的update()方法,因为窗口的刷新需要事件的触发才能刷新,而文本的动态刷新我们只需要把Text对象保存,每次需要插入文本时使用如下的方式来及时更新:

## 格式化输出的字符串
textvar = "Step:%3d,Train_loss:%9g,Train_accuracy: %g" %(itr, loss_train, accuracy_train)
## 插入对应的Text对象中
tebox.insert('insert', textvar+'\n')
插入后及时的更新
tebox.update()

当然,可以使用多线程技术保证windows的mainloop()方法能够一直等待事件的发生,而令一条线程工作的同时实时更新Text组件。

Python tkinter的grid布局及Text动态显示方法

以上这篇Python tkinter的grid布局及Text动态显示方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python解析发往本机的数据包示例 (解析数据包)
Jan 16 Python
Python 对象中的数据类型
May 13 Python
Python入门之三角函数atan2()函数详解
Nov 08 Python
python中利用zfill方法自动给数字前面补0
Apr 10 Python
如何利用Anaconda配置简单的Python环境
Jun 24 Python
解决Python设置函数调用超时,进程卡住的问题
Aug 08 Python
扩展Django admin的list_filter()可使用范围方法
Aug 21 Python
基于python全局设置id 自动化测试元素定位过程解析
Sep 04 Python
使用python 将图片复制到系统剪贴中
Dec 13 Python
python 爬虫 实现增量去重和定时爬取实例
Feb 28 Python
Django数据库操作之save与update的使用
Apr 01 Python
Python自动化之批量处理工作簿和工作表
Jun 03 Python
对python requests的content和text方法的区别详解
Oct 11 #Python
使用pip发布Python程序的方法步骤
Oct 11 #Python
对python Tkinter Text的用法详解
Oct 11 #Python
python数据批量写入ScrolledText的优化方法
Oct 11 #Python
攻击者是如何将PHP Phar包伪装成图像以绕过文件类型检测的(推荐)
Oct 11 #Python
python中join()方法介绍
Oct 11 #Python
Python中staticmethod和classmethod的作用与区别
Oct 11 #Python
You might like
php file_put_contents()功能函数(集成了fopen、fwrite、fclose)
2011/05/24 PHP
如何给phpcms v9增加类似于phpcms 2008中的关键词表
2013/07/01 PHP
WordPress中制作导航菜单的PHP核心方法讲解
2015/12/11 PHP
WordPress中用于获取搜索表单的PHP函数使用解析
2016/01/05 PHP
PHP文件操作实例总结
2016/09/27 PHP
PHP获取类私有属性的3种方法
2020/09/10 PHP
发布BlueShow v1.0 图片浏览器(类似lightbox)blueshow.js 打包下载
2007/07/21 Javascript
JS是否可以跨文件同时控制多个iframe页面的应用技巧
2007/12/16 Javascript
分享一个asp.net pager分页控件
2012/01/04 Javascript
javascript for循环从入门到偏门(效率优化+奇特用法)
2012/08/01 Javascript
JQuery文字列表向上滚动的代码
2013/11/13 Javascript
jQuery动态效果显示人物结构关系图的方法
2015/05/07 Javascript
jQuery图片瀑布流的简单实现代码
2017/03/15 Javascript
AngularJS2中一种button切换效果的实现方法(二)
2017/03/27 Javascript
JavaScript中正则表达式判断匹配规则及常用方法
2017/08/03 Javascript
利用Angular2 + Ionic3开发IOS应用实例教程
2018/01/15 Javascript
JS实现数组删除指定元素功能示例
2019/06/05 Javascript
vue实现桌面向网页拖动文件的示例代码(可显示图片/音频/视频)
2021/03/01 Vue.js
[01:07:19]2018DOTA2亚洲邀请赛 4.5 淘汰赛 Mineski vs VG 第一场
2018/04/06 DOTA
python获取网页状态码示例
2014/03/30 Python
Django自定义分页与bootstrap分页结合
2021/02/22 Python
python自动登录12306并自动点击验证码完成登录的实现源代码
2018/04/25 Python
python如何将两个txt文件内容合并
2019/10/18 Python
Python 找出出现次数超过数组长度一半的元素实例
2020/05/11 Python
如何利用python 读取配置文件
2021/01/06 Python
HTML5 Canvas 绘图——使用 Canvas 绘制图形图文教程 使用html5 canvas 绘制精美的图
2015/08/31 HTML / CSS
使用html5 canvas 画时钟代码实例分享
2015/11/11 HTML / CSS
欧舒丹澳洲版:L’OCCITANE
2017/07/17 全球购物
廉价连衣裙和婚纱礼服在线销售:Tbdress
2019/02/28 全球购物
新西兰网上购物,折扣店:BestDeals.co.nz
2019/03/20 全球购物
法国春天百货官网:Printemps.com
2020/06/29 全球购物
社区党员先进事迹
2014/01/22 职场文书
销售经理岗位职责
2014/03/16 职场文书
反腐倡廉警示教育活动总结
2014/05/05 职场文书
会议主持人开场白台词
2015/05/28 职场文书
python基础详解之if循环语句
2021/04/24 Python