Tkinter控件学习总结(一)

此部分总结只涉及基本UI布局、按钮点击回调、控件中用户输入内容的获取等,并不涉及键盘事件、鼠标事件的获取等等。

(一)Tkinter的优缺点

  Tkinter是Python自带的GUI库,它最好的一个优点就是不用另外装额外

的库拿来就可以用了,而且整个库很小巧,入门简单,这很适合于只想集中精力解决实际问题的人。

  如果是作一些简单的界面,Tkinter已经足够胜任。不过对于我来说,它有个致命的缺点就是不支持对png格式文件的显示。其实使用python的image库是可以解析png格式文件的。但我拿一张RGBA8888的png来解析后,在Tkinter的控件上显示不出来,只能逐个象素取出来以RGB的格式绘制到控件上,相当于是把透明度给去掉了。因此,对我来说它已无法胜任我的需求,为此不想在Tkinter上花太多的时间学习,只学到能布置一些简单的控件就行。以后有需要学习深层的再来回顾。

(二)Tkinter程序结构

(1)Tkinter主循环

  每个使用Tkinter作UI的程序,必须有且只有一个Tkinter.Tk()作为程序

的根节点(主窗口),此窗口一关闭程序即退出。注:我试过在封装自己的控件时,不小心调用了两次Tkinter.Tk(),在调用第二次时就报奇怪的错误了,所以切记不可以调用两次Tkinter.Tk()。

(2)Tkinter控件的创建

  每个Tkinter控件创建时,都需要在第一个参数中传进控件所依附的上层容器,如:

Tkinter.Button(container,text=‘按钮文案‘,command=按钮回调)

(3)Tkinter控件的布局

  Tkinter里面控件的布局摆放控制接口是集成在每个控件身上的,创建出一个控件后即可调用其带有的布局函数决定它在容器的位置如何摆放,如:

chkbtn_var = Tkinter.BooleanVar()
checkbox = Tkinter.Checkbutton(container,text=‘勾选框文案‘,variable=chkbtn_var,command=按钮回调)
checkbox.pack(side=Tkinter.TOP,fill=Tkinter.X,padx=10,pady=5)
时间: 2024-08-05 15:20:57

Tkinter控件学习总结(一)的相关文章

wxPython控件学习之wx.grid.Grid 表格控件

wxPython控件学习之wx.grid.Grid (包括对GridCellEditor和GridCelRender的扩展,以支持更多的grid cell 样式, 以GridCellColorEditor为例) wx.Grid 及其相关的类是用来显示和编辑类表格样式的数据.该控件为显示,编辑数据源提及交互供了丰富的特征. wx.GridTableBase类控制要显示的实际数据.可以call CreateGrid()产生一个该类的实例对象. wx.GridCellRenderer 基类,负责对单元

CComboBox(组合框)控件 学习要点

CComboBox(组合框)控件 CComboBox类常用成员 CComboBox插入数据 CComboBox删除数据 CComboBox运用示例   一.CComboBox控件常用属性    Disabled    Visible    type    数据   二.CComboBox类常用成员   ((CComboBox*)GetDlgItem(IDC_COMBO1))//获取组合框对象指针,这样可以不关联控件变量,也可以操作组合框对象 CComboBox::ResetContent//清空

DbNetGrid控件学习教程及下载使用指南

DbNetGrid是龙博方案网的旗帜产品.它是一款基于网页的报告工具,它能简单地在浏览器中展示数据库信息.通过DbNetGrid,您能在不编写任何代码的情况下搜索.导航.分类.编辑.复制.打印以及导出数据库信息.是一款完全压缩的.用于内网与互联网开发的HTML网格控件.它被设计用来实现能在浏览器环境中展示与更新数据库信息的快速灵活的方法.DbNetGrid能完全开发IE5及更高版本浏览器的功能 具体功能: 搜索.导航.分类.更新.添加.删除.导出.上传.连接.嵌入.打印.复制以及更多-- 不需要

GUI 控件学习一(C#)

代码片段: using UnityEngine; using System.Collections; public class SkinTest : MonoBehaviour { public Texture imgbtn; private string textContent ="Textfield"; private string passwordToEdit ="PasswordField"; private string textAreaToEdit =

DevExpress控件学习总结(转)

DevExpress控件学习总结 1.Navigation & Layout 1.1 Bar Manager 如果想在窗体或用户控件(user control)上添加工具条(bars)或弹出菜单(popup menus),我们需要把一个不可见的控件(component)BarManager(Navigation&Layout)拖放到这个窗体或用户控件上.这个控件维护工具条在窗体上的布局,处理用户的行为(processes an end-user's actions),提供一些定制功能等等.

第二课:IOS(App)UIImage控件与TextField控件学习

作为一名实习生我是1.3.5在办公室工作,2.4.6去另一个地方听课学习IOS(app)课程,为了不落下课程,我准备每天晚上把落下的课程自学一遍,把不懂的记下等去听课的时候问老师,希望自己能跟上学习的步伐,不浪费时间.这一课是前几天听的,今天一起也写上了. 第二课:IOS(App)UIImage控件与TextField控件的学习,代码如下 一:UIImage控件代码:把图片添加到视图中并设置大小,这里没有牵涉到图片背景的颜色设置,我猜想应该是没必要去设置的吧,因为没有按钮功能的话背景颜色也看不到

MFC自绘控件学习总结

前言:从这学期开始就一直在学习自绘控件(mfc),目标是做出一款播放器界面,主要是为了打好基础,因为我基础实在是很烂....说说我自己心得体会以及自绘控件的方法吧,算是吐槽吧,说的不对和不全的地方,或者有更好的方法,请不吝赐教.我的机器环境是:Windows7旗舰版 Service Pack 1,Visual studio 20051).重绘某个控件时,强烈推荐使用子类化方法,比如想自绘Button控件, 首先添加自己的类CMYButton 继承自 CButton ,声明一个CMYButton

蓝懿iOS培训日志8 控件学习2

现在是凌晨一点,准备睡觉,白天学习效率不高的话就得加班. 今天学习了TableView  NavigationController导航控制器 TableViewController   晚上但作业是利用这些控件加上前几天学的正反向传值来实现一个简单的通讯录. 因为白天学的知识点没有掌握好,所以晚上做作业时需要翻看白天的知识点,边看边做.我觉得还是需要抽时间把知识点消化掉.还需要多加练习,不然以后也不能需要实现什么功能,现找对应的代码.下面是我的部分总结,纯个人总结. tableView的复用机制

MFC自绘控件学习总结第二贴

首先感谢大家对第一帖的支持,应一些网友烈要求下面我在关于上一贴的一些补充和说明(老鸟可以无视)这一贴是实战+理论不知道第一帖的先看第一帖:http://topic.csdn.net/u/20110710/19/5209f358-31c8-4057-b108-02155a417fd0.html 1).补充个高级可重载函数PreSubclassWindow(),我的理解是允许用户在子类化之前再做一额外些处理 ,这个重载函数也是非常重要的,要引起相当的注意.可以在这里改变控件的大小,位置,窗口样式,字