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

原文地址:https://www.cnblogs.com/ansver/p/10479707.html

时间: 2024-10-09 19:15:47

Python tkinter 学习记录(一) --label 与 button的相关文章

python tkinter学习

Downloading the module: sudo apt-get install python-tk simple example: #!/usr/bin/python # -*- coding: utf-8 -*- """ ZetCode Tkinter tutorial This script shows a simple window on the screen. author: Jan Bodnar last modified: January 2011 we

Python Tkinter学习(三)

Python初学--窗口视窗Tkinter 1.1 什么是 Tkinter Python自带的可编辑的GUI界面,是一个图像窗口. Tkinter是使用 python 进行窗口视窗设计的模块.简单的构造,多平台,多系统的兼容性, 能让它成为让你快速入门定制窗口文件的好助手.它在 python 窗口视窗模块中是一款简单型的.所以用来入门,熟悉窗口视窗的使用,非常有必要. tkinter 的窗口部件 2.1 Label & Button 标签和按钮 窗口主体框架 每一个tkinter应用的主体框架都

Python Tkinter学习之计算器

初学Python tkinter,利用目前所学编写一个简单的计算器练习一下. 预期效果: 1.能够实现加减乘除运算, 2.只能输入数字 3.通过按钮选择进行哪种运算. 4.结果框不能修改,智能复制 5.按清除按钮能够清除所有内容 from  tkinter import * count = Tk() count.title("纯醪八盅@计算器") def clear():     v1.set("")     v2.set("")     v3.

python 系统地学习记录

由头: python值得一学. 尝试一下写学习记录,看看效果. 1.记录一些不熟悉或者重要的知识点. 2.记录一些遇到的问题,标签 Question. 书:python基础教程(第2版) Chapter 1:基础知识 本章的内容熟悉即可. 比较重要的是字符串,单双引号转义,str,repr... Time 1.5 h  2015.8.31 23:09 版权声明:本文为博主原创文章,未经博主允许不得转载.

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

笔者工作业余时间也没什么爱好,社交圈子也小,主要娱乐就是背着自己带电瓶的卖唱音响到住地附近找个人多的位置唱唱KtV. 硬件上点歌就用笔记本电脑,歌曲都是网上下载的mkv格式的含有两个音轨的视频.因此点歌软件成了笔者的需求. 点歌软件需求极简单: 读磁盘上的目录取全部music,双击则调用播放器播放music. 自己常唱的歌曲可以选到自选歌曲列表. 支持按简拼搜索music 之前已经用多种开发工具写过,这次逢学习python的机会用它再写一个python版. 软件界面如下: 双击启动播放器. 就代

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

注:本文可转载,转载请注明出处:http://www.cnblogs.com/collectionne/p/6885066.html. Tkinter介绍 Python支持多个图形库,例如Qt.wxWidgets,等等.但是Python的标准GUI库是Tkinter.Tkinter是Tk Interface的缩写.Python提供了tkinter包,里面含有Tkinter接口. 开始写程序 这一节,我们将会写一个只有一个Quit按钮的Tkinter程序. 要使用Tkinter,需要首先导入tki

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

引言: 昨天在网易云课堂自学了<Python网络爬虫实战>,视频链接 老师讲的很清晰,跟着实践一遍就能掌握爬虫基础了,强烈推荐! 另外,在网上看到一位学友整理的课程记录,非常详细,可以优先参考学习.传送门:请点击 本篇文章是自己同步跟着视频学习的记录,欢迎阅读~~~ 实验:新浪新闻首页爬虫实践 http://news.sina.com.cn/china/ 一.准备 浏览器内建的开发人员工具(以Chrome为例) Python3 requests 库 Python3 BeautifulSoup4

python tkinter学习——布局

目录 一.pack() 二.grid() 三.place() 四.Frame() 正文 布局 一.pack() pack()有以下几个常用属性: side padx pady ipadx ipady fill expand 1,side side属性有四个可选值:'top'.'bottom'.'left'.'right',分别表示将控件位置设在窗口顶部中心.底部中心.左边中心.右边中心.side默认值为'top'. 2,padx.pady.ipadx.ipady 这四个属性分别设置控件水平方向外

Python Tkinter 学习笔记(二)Hello_again

#hello_again.py from tkinter import * class App: def __init__(self,master): frame = Frame(master) frame.pack() self.button = Button( frame, text="关闭",fg="blue",command=frame.quit )#也可以用foreground代替fg(缩写) self.button.pack(side=LEFT) sel