Python连载60-Tkinter布局、按钮以及属性详解
一、Tkinter
1.组件的大致使用步骤
(1)创建总面板
(2)创建面板上的各种组件;
i.指定组件的父组件,即依附关系;ii.利用相应的属性对组件进行设置;iii.给组件安排布局。
(3)同步骤2相似,创建好多个组件;
(4)最后,启动总面板的消息循环
import tkinter
base = tkinter.Tk()
base.wm_title("Label Test")#负责标题
lb = tkinter.Label(base,text="Python label")
lb.pack()#给相应的组件指定布局
base.mainloop()

2.Button
(1)属性:
anchor 设置按钮中中微子的对齐方式,相对于按钮的中心位置
background(bg) 设置按钮的背景颜色
foreground(fg) 设置按钮的前景色(文字的颜色)
borderwidth(bd) 设置按钮的边框宽度
cursor 设置鼠标在按钮上的样式
command 设定按钮点击时触发的函数
bitmap 设置按钮上的显示的位图
font 设置按钮上文本的字体
width 设置按钮的大小(字符个数)
height 设置按钮的高度(字符个数)
state 设置按钮的状态
text 设置按钮上的文字
image 设置按钮上的图片
(2)举个例子
import tkinter
def showLable():
global baseFrame
#在函数中定义了一个Label
#label的父组件是baseFrame
lb = tkinter.Label(baseFrame,text="显示Label")
lb.pack()
baseFrame = tkinter.Tk()
#生成一个按钮,command参数指示,当按钮被按下的时候,执行哪个函数
btn = tkinter.Button(baseFrame,text="Show Label",command=showLable)
btn.pack()
baseFrame.mainloop()

3.组件布局
(1)控制组件的摆放方式
(2)三种布局:i.pack按照方位布局;ii.place:按照坐标布局;iii.grid:网格布局
(3)pack布局:最简单,代码量是最少的,挨个摆放,默认从上到下,系统自动设置;
通用使用方式为:组件对象.pack(设置,,,,,,,,);
side:停靠方位,可选值为LEFT.TOP,RIGHT,BOTTOM;
fill:填充方式,X,Y,BOTH,NONE
anchor:N,E,S,W,CENTER
ipadx:x方向的内边距
ipady:y方向的内边距
padx:x方向的外边界
pady:y方向的外边界
(4)grid布局:通用使用方式:组件对象.grid(设置,,,,,,,,)
(5)place布局:明确方位的摆放,
五、源码
D60_TkinterButtonAndFrame.py
https://github.com/ruigege66/Python_learning/blob/master/D60_TkinterButtonAndFrame.py
2.CSDN:https://blog.csdn.net/weixin_44630050(心悦君兮君不知-睿)
3.博客园:https://www.cnblogs.com/ruigege0000/
4.欢迎关注微信公众号:傅里叶变换,个人公众号,仅用于学习交流,后台回复”礼包“,获取大数据学习资料

Python连载60-Tkinter布局、按钮以及属性详解的更多相关文章
- DIV-CSS布局中position属性详解
本文向大家描述一下DIV CSS布局中的position属性的用法,position属性主要有四种属性值,任何元素的默认position的属性值均是static,静态.这节课主要讲讲relative( ...
- Android组件---四大布局的属性详解
[声明] 欢迎转载,但请保留文章原始出处→_→ 文章来源:http://www.cnblogs.com/smyhvae/p/4372222.html Android常见布局有下面几种: LinearL ...
- flex弹性布局属性详解!
详细看下flex弹性布局具体属性: flex容器属性详解:flex-direction:row/column:(横排/竖排) 决定元素的排列方向:flex-wrap:nowrap/wrap/wrap- ...
- 第15.10节 PyQt(Python+Qt)入门学习:Qt Designer可视化设计界面组件与QWidget类相关的组件属性详解
PyQt学习有阵子了,对章节的骨架基本考虑好了,准备本节就写组件的属性的,结果一是日常工作繁忙,经常晚上还要加班,二是Qt的组件属性很多,只能逐一学习.研究和整理,花的时间有点长,不过终于将可视化设计 ...
- Android零基础入门第80节:Intent 属性详解(下)
上一期学习了Intent的前三个属性,本期接着学习其余四个属性,以及Android系统常用内置组件的启动. 四.Data和Type属性 Data属性通常用于向Action属性提供操作的数据.Data属 ...
- OutputCache属性详解(二)一 Location
目录 OutputCache概念学习 OutputCache属性详解(一) OutputCache属性详解(二) OutputCache属性详解(三) OutputCache属性详解(四)— SqlD ...
- EditText属性详解
关于EditText属性详解很详细的记录,转过来收着 1.EditText输入的文字为密码形式的设置 (1)通过.xml里设置: 把该EditText设为:android:password=" ...
- Android中的windowSoftInputMode属性详解
这篇文章主要介绍了Android中的windowSoftInputMode属性详解,本文对windowSoftInputMode的9个属性做了详细总结,需要的朋友可以参考下 在前面的一篇文章中 ...
- OutputCache属性详解(一)一Duration、VaryByParam
目录 OutputCache概念学习 OutputCache属性详解(一) OutputCache属性详解(二) OutputCache属性详解(三) OutputCache属性详解(四)— SqlD ...
随机推荐
- Java 线程高级
1.volatile关键字:当多个线程操作共享数据时,可以保证内存中的数据可见,相较于syncronized是一种较为轻量级的同步策略, 注意:1.volatile不具有“互斥性” 2.volatil ...
- JSAJAX请求
let xmlHttp = new XMLHttpRequest();//创建发送请求的对象 //这是为了兼容IE的获取ajac请求对象的方法 // let getXmlHttpReq ...
- JVM 初始
我们刚学习java的时候,从来没有想过new一个对象后,需要我们手动去管理过他的内存空间释放,因为我们知道java有GC垃圾回收器这哥们的存在,他会帮我们处理好一切,这就好比我是皇帝,我想在哪建个行宫 ...
- Django中 from django.utils import timezone 和import datetime的区别
在现实环境中,存在多个时区,用户之间很有可能存在于不同的时区,并且许多国家都拥有自己的一套夏令时系统,所以如果网站面向的是多个时区用户,只以当前时间为标准开发,便会在时间上产生错误. 为解决这个此类问 ...
- java.io.NotSerializableException 没有序列化异常
在实现MyBatis的二级缓存时,遇到此异常,其原因是实体类未实现Serializable接口. 异常: org.apache.ibatis.cache.CacheException: Error s ...
- 吴裕雄--天生自然Numpy库学习笔记:NumPy 位运算
bitwise_and() 函数对数组中整数的二进制形式执行位与运算. import numpy as np print ('13 和 17 的二进制形式:') a,b = 13,17 print ( ...
- AireOS WLC配置抓包
这个Note主要列举在AireOS WLC上如何抓包.它实现的步骤也相对比较简单: 1.开启debug packet, 2.有数据被抓取到时,会以16进制的形式在WLC上输出, 3.我们将输出信息保存 ...
- idea2018.3.6,离线使用maven的方法
(1)想办法拷贝联网电脑上已经下载好的仓库文件夹mavenRepository到离线环境的电脑上: (2)idea中按照如下图中配置: (3)打开 User settings file中设置的sett ...
- 【译】索引进阶(十七): SQL SERVER索引最佳实践
[译注:此文为翻译,由于本人水平所限,疏漏在所难免,欢迎探讨指正] 原文链接:传送门. 在本章我们给出一些建议:贯穿本系列我们提取出了十四条基本指南,这些基本的指南将会帮助你为你的数据库创建最佳的索引 ...
- mcast_join_source_group函数
#include <errno.h> #include <net/if.h> #include <sys/socket.h> #define SA struct s ...