Python tkinter 学习记录(一) --label 与 button
最简的形式
from tkinter import * root = Tk()
# 创建一个Tk实例
root.wm_title("标题")
# 修改标题
root.mainloop()
# 进入root的事件循环
运行结果

label标签的使用
from tkinter import * root = Tk()
root.wm_title("标题")
w1 = Label(root, text="~~~~~~1号标签~~~~~~")
w2 = Label(root, text="~~~~~~2号标签~~~~~~")
w3 = Label(root, text="~~~~~~3号标签~~~~~~")
w4 = Label(root, text="~~~~~~4号标签~~~~~~") w1.pack() w4.pack()
w3.pack() root.mainloop()
结果

说明, 组件创建后并不会立刻出现在窗口上,还需要pack一下才会出现
排列顺序取决去 pack的顺序 而非创建的顺序
使用help函数 了解到 label还有很多属性
>>> from tkinter import *
>>> help(Label.__init__)
Help on function __init__ in module tkinter: __init__(self, master=None, cnf={}, **kw)
Construct a label widget with the parent MASTER. STANDARD OPTIONS activebackground, activeforeground, anchor,
background, bitmap, borderwidth, cursor,
disabledforeground, font, foreground,
highlightbackground, highlightcolor,
highlightthickness, image, justify,
padx, pady, relief, takefocus, text,
textvariable, underline, wraplength WIDGET-SPECIFIC OPTIONS height, state, width
help(Label)的结果太多所以改成 help(Label.__init__)
Button 按钮
它可以绑定一个函数/方法/可调用的对象, 在按钮被点击时,会调用与之绑定的东西
两种绑定方法
一,在定义时 标注command 属性
from tkinter import * def add_label():
global root
w = Label(text="一个新增的标签")
w.pack() root = Tk()
root.wm_title("one window") b1 = Button(root, text="一个按钮", command=add_label)
b1.pack() root.mainloop()
点了按钮几次之后

需要注意的是
command=add_label command属性 将是一个function对象
command=add_label() command值为None 因为add_label没定义返回值
command="add_label" command 是str对象
第二种方法 使用bind方法
from tkinter import * def add_label(event):
global root
w = Label(text="一个新增的标签"+str(event))
w.pack() root = Tk()
root.wm_title("one window") b1 = Button(root, text="一个按钮")
b1.bind("<Button-1>", add_label)
b1.pack() root.mainloop()
结果(点击了几次之后的)

xx.bind(事件描述,对应函数名)
对应函数定义时,必须加一个参数,,因为事件的详细信息会作为参数被"塞给"事件对应的函数 ,事件的详细信息一般大牛们才用的到,新手可以无视事件的内容 ,但是必须在函数定义处加一个参数 以避免TypeError
TypeError: add_label() takes 0 positional arguments but 1 was given
这个函数需要0个参数, 但是调用时 被给了 1 个参数 参数数目不对 python 难以处理 所以报错
对应函数名处一定要注意 是函数名 不要加引号 也不要加括号 原因上面已解释
#end
Python tkinter 学习记录(一) --label 与 button的更多相关文章
- Python Tkinter 学习成果:点歌软件music
笔者工作业余时间也没什么爱好,社交圈子也小,主要娱乐就是背着自己带电瓶的卖唱音响到住地附近找个人多的位置唱唱KtV. 硬件上点歌就用笔记本电脑,歌曲都是网上下载的mkv格式的含有两个音轨的视频.因此点 ...
- Python Tkinter学习笔记
介绍 入门实例 显示一个窗口,窗口里面有一个标签,显示文字 import tkinter as tk # 一个顶层窗口的实例(Top Level),也称为根窗口 app = tk.Tk() # 设置窗 ...
- Python Tkinter 学习历程 一
一丶一个简单的程序 from tkinter import * #引入所有类#查看tk版本#tkinter._test() root = Tk(); #对这个类进行实例化 w1 = Label(roo ...
- Python Tkinter学习(1)——第一个Tkinter程序
注:本文可转载,转载请注明出处:http://www.cnblogs.com/collectionne/p/6885066.html.格式修改未完成. Tkinter资料 Python Wiki, T ...
- python tkinter学习——tkinter部件1
tkinter部件 一.Tk() & Label() & Button() 1,Tk() 窗口 用Tk()创建窗口对象: #文件名:test1.py import tkinter as ...
- python tkinter学习——布局
目录 一.pack() 二.grid() 三.place() 四.Frame() 正文 布局 一.pack() pack()有以下几个常用属性: side padx pady ipadx ipady ...
- Python爬虫学习记录【内附代码、详细步骤】
引言: 昨天在网易云课堂自学了<Python网络爬虫实战>,视频链接 老师讲的很清晰,跟着实践一遍就能掌握爬虫基础了,强烈推荐! 另外,在网上看到一位学友整理的课程记录,非常详细,可以优先 ...
- python爬虫学习记录
爬虫基础 urllib,urllib2,re都是python自带的模块 urllib,urllib2区别是urllib2可以接受一个Request类的实例来设置url请求的headers,即可以模拟浏 ...
- 简明 Python 教程--学习记录
注意,我们在print语句的结尾使用了一个 逗号 来消除每个print语句自动打印的换行符.这样做有点难看,不过确实简单有效. print # prints a blank line 注意,没有返回值 ...
随机推荐
- C# 最全的文件工具类FileHelper
using System; using System.Collections.Generic; using System.Data; using System.IO; using System.Lin ...
- IntelliJ IDEA 报错:找不到包或者找不到符号
原因 在网上各种找 https://blog.csdn.net/qq_17213067/article/details/78895302 https://blog.csdn.net/u01398566 ...
- iOS里的crc校验问题
首先推荐一篇文章,下面的的文章对crc解释的很好: https://blog.csdn.net/liyuanbhu/article/details/7882789 crc校验算法的本质就是对一个2进制 ...
- 搭建Linux运行环境-虚拟机
1.虚拟机软件介绍 虚拟机(Virtual Machina)软件就是一套特殊的软件,它可以作为系统独立运行,也可以运行与系统之上. 若是运行与系统之上的虚拟机软件,在一台电脑(PC或笔记本等)上安装虚 ...
- LeetCode 21. Merge Two Sorted Lists(c++)
要定义两个链表 判断时依次对应每一个链表的值进行判断即可. /** * Definition for singly-linked list. * struct ListNode { * int val ...
- 算法工程师<深度学习基础>
<深度学习基础> 卷积神经网络,循环神经网络,LSTM与GRU,梯度消失与梯度爆炸,激活函数,防止过拟合的方法,dropout,batch normalization,各类经典的网络结构, ...
- 测开之路十:函数&参数
def 函数名(): 函数代码块 return 返回值 参数 必备参数:位置参数,调用函数时必须有值传入 默认参数,调用如果没有传值使用默认值 不定长参数 *args:想传多少传多少,必须放在位置参数 ...
- OpenCV-Python:Harris角点检测与Shi-Tomasi角点检测
一.Harris角点检测 原理: 角点特性:向任何方向移动变换都很大. Chris_Harris 和 Mike_Stephens 早在 1988 年的文章<A CombinedCorner an ...
- springboot 错误求解决
最近再学习springboot这个好东西,结果给当成白老鼠了,我使用的是idea 2018 来测试 一个简单的界面跳转 ,结果报错了,在网上搜了好半天没搜到相应的解决方案,很头疼,希望哪位大神能 ...
- ASP.NET Core快速入门学习笔记(第1章:介绍与引入)
课程链接:http://video.jessetalk.cn/course/explore 良心课程,大家一起来学习哈! 任务1:课程介绍 任务2:环境安装 下载地址:https://dotnet.m ...