一、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布局、按钮以及属性详解的更多相关文章

  1. DIV-CSS布局中position属性详解

    本文向大家描述一下DIV CSS布局中的position属性的用法,position属性主要有四种属性值,任何元素的默认position的属性值均是static,静态.这节课主要讲讲relative( ...

  2. Android组件---四大布局的属性详解

    [声明] 欢迎转载,但请保留文章原始出处→_→ 文章来源:http://www.cnblogs.com/smyhvae/p/4372222.html Android常见布局有下面几种: LinearL ...

  3. flex弹性布局属性详解!

    详细看下flex弹性布局具体属性: flex容器属性详解:flex-direction:row/column:(横排/竖排) 决定元素的排列方向:flex-wrap:nowrap/wrap/wrap- ...

  4. 第15.10节 PyQt(Python+Qt)入门学习:Qt Designer可视化设计界面组件与QWidget类相关的组件属性详解

    PyQt学习有阵子了,对章节的骨架基本考虑好了,准备本节就写组件的属性的,结果一是日常工作繁忙,经常晚上还要加班,二是Qt的组件属性很多,只能逐一学习.研究和整理,花的时间有点长,不过终于将可视化设计 ...

  5. Android零基础入门第80节:Intent 属性详解(下)

    上一期学习了Intent的前三个属性,本期接着学习其余四个属性,以及Android系统常用内置组件的启动. 四.Data和Type属性 Data属性通常用于向Action属性提供操作的数据.Data属 ...

  6. OutputCache属性详解(二)一 Location

    目录 OutputCache概念学习 OutputCache属性详解(一) OutputCache属性详解(二) OutputCache属性详解(三) OutputCache属性详解(四)— SqlD ...

  7. EditText属性详解

    关于EditText属性详解很详细的记录,转过来收着 1.EditText输入的文字为密码形式的设置 (1)通过.xml里设置: 把该EditText设为:android:password=" ...

  8. Android中的windowSoftInputMode属性详解

    这篇文章主要介绍了Android中的windowSoftInputMode属性详解,本文对windowSoftInputMode的9个属性做了详细总结,需要的朋友可以参考下     在前面的一篇文章中 ...

  9. OutputCache属性详解(一)一Duration、VaryByParam

    目录 OutputCache概念学习 OutputCache属性详解(一) OutputCache属性详解(二) OutputCache属性详解(三) OutputCache属性详解(四)— SqlD ...

随机推荐

  1. The Preliminary Contest for ICPC Asia Shanghai 2019 B Light bulbs (离散的差分)

    复杂度分析,询问一千次,区间长1e6,O(1e9)超时. 那么我们知道对于差分来说,没必要一个一个求,只需要知道区间长就可以了,所以我们定义结构体差分节点,一个头结点,一个尾节点. 这样tail.lo ...

  2. appium可通过SDK自带的uiautomatorviewer或monitor工具,来查看页面元素(Android)

    工具一:uiautomatorviewer 1.在SDK的tools目录中找到uiautomatorviewer,双击打开若出现闪退一般是jdk版本不匹配(建议安装jdk1.8的): 2.在使用这个工 ...

  3. 洛谷 P5016 龙虎斗(模拟)

    嗯... 题目链接:https://www.luogu.org/problem/P5016 这道题是一道模拟,不要考虑复杂,直接暴力枚举每一个点,看看加上s2之后两个势力的差值,找最小,记录下标. 注 ...

  4. 校准产品质量,把控出海航向,腾讯WeTest《2019中国移动游戏质量白皮书》正式开放预约

    作者:wetest小编 商业转载请联系腾讯WeTest获得授权,非商业转载请注明出处. 原文链接:https://wetest.qq.com/lab/view/483.html 每当步入一个新的年份, ...

  5. sql注入小姿势

    利用/*!union*/可以绕过对union的过滤

  6. vmware克隆机无法启动eth0联网问题

    cd /etc/sysconfig/network-scrip vi ifcfg-eth0 把eth0修改成eth1,重启网卡就可以了

  7. 【原】jenkins知识点_凭据(一)

    一:凭据 1.目的: 与第三方网站或应用程序进行交互,如代码仓库.云存储系统和服务等 2.操作路径: Jenkins-凭据-系统-全局凭据 3.权限 Jenkins 中保存的凭证可以用于: 任何适用于 ...

  8. java web 学生信息录入

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...

  9. mongodb的remove操作

    今天学习mongodb时,打算用db.user.remove()函数把user中的数据都删了,结果没闪成功,提示:remove needs a query.上网查了一下,是因为没有给remove函数传 ...

  10. 「CQOI2009」中位数

    「CQOI2009」中位数 传送门 这道题将会用到一点桶的思想. 首先我们可以在排列中先找到 \(b\) 的位置(找不到的话就直接输出 \(0\)). 然后我们从 \(b\) 的位置(设为 \(p\) ...