最简的形式

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的更多相关文章

  1. Python Tkinter 学习成果:点歌软件music

    笔者工作业余时间也没什么爱好,社交圈子也小,主要娱乐就是背着自己带电瓶的卖唱音响到住地附近找个人多的位置唱唱KtV. 硬件上点歌就用笔记本电脑,歌曲都是网上下载的mkv格式的含有两个音轨的视频.因此点 ...

  2. Python Tkinter学习笔记

    介绍 入门实例 显示一个窗口,窗口里面有一个标签,显示文字 import tkinter as tk # 一个顶层窗口的实例(Top Level),也称为根窗口 app = tk.Tk() # 设置窗 ...

  3. Python Tkinter 学习历程 一

    一丶一个简单的程序 from tkinter import * #引入所有类#查看tk版本#tkinter._test() root = Tk(); #对这个类进行实例化 w1 = Label(roo ...

  4. Python Tkinter学习(1)——第一个Tkinter程序

    注:本文可转载,转载请注明出处:http://www.cnblogs.com/collectionne/p/6885066.html.格式修改未完成. Tkinter资料 Python Wiki, T ...

  5. python tkinter学习——tkinter部件1

    tkinter部件 一.Tk() & Label() & Button() 1,Tk() 窗口 用Tk()创建窗口对象: #文件名:test1.py import tkinter as ...

  6. python tkinter学习——布局

    目录 一.pack() 二.grid() 三.place() 四.Frame() 正文 布局 一.pack() pack()有以下几个常用属性: side padx pady ipadx ipady ...

  7. Python爬虫学习记录【内附代码、详细步骤】

    引言: 昨天在网易云课堂自学了<Python网络爬虫实战>,视频链接 老师讲的很清晰,跟着实践一遍就能掌握爬虫基础了,强烈推荐! 另外,在网上看到一位学友整理的课程记录,非常详细,可以优先 ...

  8. python爬虫学习记录

    爬虫基础 urllib,urllib2,re都是python自带的模块 urllib,urllib2区别是urllib2可以接受一个Request类的实例来设置url请求的headers,即可以模拟浏 ...

  9. 简明 Python 教程--学习记录

    注意,我们在print语句的结尾使用了一个 逗号 来消除每个print语句自动打印的换行符.这样做有点难看,不过确实简单有效. print # prints a blank line 注意,没有返回值 ...

随机推荐

  1. Java中的String、StringBuilder以及StringBuffer

    https://www.cnblogs.com/dolphin0520/p/3778589.html

  2. php 多维数组转二维数组

    array(3) { ["money"]=> string(6) "255.00" ["id"]=> string(1) &qu ...

  3. git pull命令的用法

    git pull用法: git pull命令的作用是:取回远程主机某个分支的更新,再与本地的指定分支合并. 一句话总结git pull和git fetch的区别: git pull = git fet ...

  4. 2018-2019-2 网络对抗技术 20165206 Exp6 信息搜集与漏洞扫描

    - 2018-2019-2 网络对抗技术 20165206 Exp6 信息搜集与漏洞扫描 - 实验任务 (1)各种搜索技巧的应用 (2)DNS IP注册信息的查询 (3)基本的扫描技术:主机发现.端口 ...

  5. 神经网络的另一种非线性阶跃函数---ReLU函数

    import numpy as np import matplotlib.pylab as plt from matplotlib.font_manager import FontProperties ...

  6. js属性对象的propertyIsEnumerable方法

    定义 每个对象都有一个propertyIsEnumerable()方法.此方法返回一个布尔值,表明指定的属性是否是可枚举. This method can determine whether the ...

  7. Angular Taskmgr 登录

    一.登录module 1.先创建domain文件夹,在里面建一个user.model.ts的user领域对象. export interface User{ id?:string; email:str ...

  8. .Net Core小技巧 - Swagger适配虚拟目录及二级目录

    前言 随着前后端分离模式与微服务架构的出现,Web API变得越来越重要及普遍.而后出现的网关技术,使开发者更倾向于使用二级/多级目录来暴露Web API,一是暴露的端口更少,方便管理:二是在网关中可 ...

  9. os模块walk方法

    1.os.walk import os for root, dirs, files in os.walk(top, topdown=False): for name in files: os.remo ...

  10. UOJ#348. 【WC2018】州区划分

    原文链接www.cnblogs.com/zhouzhendong/p/UOJ348.html 前言 第一次知道子集卷积可以自己卷自己. 题解 这是一道子集卷积模板题. 设 $sum[S]$ 表示点集 ...