Tkinter:Button组件

Button组件

Button组件用于实现一个按钮,它的绝大部分选项与Label组件是一样的,不过button组件可以接受用户的信息。默认情况下,tab 按键被用于在按钮间切换。

简而言之,Button 组件是用于让用户说:“干!”,通过按钮上的文字或图标让用户清楚按下去是干什么用的。Button 组件常常被用于工具栏、应用程序窗口、和表示接受或拒绝的对话框。

Checkbutton 和 Radiobutton 组件 更适合做数据输入按钮使用。

Button组件就有一个command选项,用于指定一个函数或方法,当用户单击按钮的时候,就会自动的去调用这个方法或函数。

用法

普通的按钮只要指定Button 的内容(文本,图形,位图),并且关联按钮被按下是应该掉用的函数或方法。

import tkinter as tk
root = tk.Tk()
def callback():
	print('额,,我被调用了')
button = tk.Button(root,text='你好啊',command=callback)
button.pack()
root.mainloop()

在这里插入图片描述

如果一个按钮没有相关联的函数或方法,那么它就形同虚设。你可能在开发程序的过程中会使用到这样的按钮,在这种情况下,更好的方法是禁用这些按钮,从而避免导致你的测试用户产生疑惑。

button = tk.Button(root, text="不执行", state="disabled") # 这个按钮的文字就变灰了,,

还可以使一个按钮保存按下的样子,b.config(relief="sunken") 感觉这个函数是额外增加配置的

使用compound选项将图片和文件混合,,

photo = tk.PhotoImage(file = 'button.gif')
b=tk.Button(root,text='点我',font=20,image=photo,compound='center')
b.pack()

textvariable 用法

  1. Label 显示 Tkinter 变量(通常是一个 StringVar 变量)的内容
  2. 如果变量被修改,Label 的文本会自动更新
import tkinter as tk

def callback():
    var.set('呵呵,,我不信,,')
    
root = tk.Tk()

frame1 = tk.Frame(root)
frame2 = tk.Frame(root)

var = tk.StringVar()
var.set('你所下载的影片含有未成年人限制的内容,\n请满18周岁后再点击观看!')

textlabel = tk.Label(frame1,textvariable = var,justify='left')
textlabel.pack(side='left')

photo = tk.PhotoImage(file = '17.gif')
imglabel = tk.Label(frame1,image=photo)
imglabel.pack(side='right')

thebutton = tk.Button(frame2,text='我已满18',command=callback)
thebutton.pack()

frame1.pack(padx=10,pady=10)
frame2.pack(padx=10,pady=10)

root.mainloop()

在这里插入图片描述
在这里插入图片描述

参数

button的参数跟label 差不多,就是多出了下面这些:

方法含义
default1. 如果设置该选项(“normal”),该按钮会被绘制成默认按钮 2. Tkinter 会根据平台的具体指标来绘制(通常就是绘制一个额外的边框 3. 默认值是 “disable”
overrelief1. 定义当鼠标飘过时 Button 的样式 4. 如果不设置,那么总是使用 relief 选项指定的样式
repeatdelay见下方 repeatinterval 选项的描述
repeatinterval1. 通常当用户鼠标按下按钮并释放的时候系统认为是一次点击动作。如果你希望当用户持续按下按钮的时候(没有松开),根据一定的间隔多次触发按钮,那么你可以设置这个选项。 2. 当用户持续按下按钮的时候,经过 repeatdelay 时间后,每 repeatinterval 间隔就触发一次按钮事件。 3. 例如设置 repeatdelay=1000,repeatinterval=300,则当用户持续按下按钮,在 1 秒的延迟后开始每 300 毫秒触发一次按钮事件,直到用户释放鼠标。

方法
flash()

– 刷新 Button 组件,该方法将重绘 Button 组件若干次(在 “active” 和 “normal” 状态间切换)。

invoke()

– 调用 Button 中 command 选项指定的函数或方法,并返回函数的返回值。
– 如果 Button 的state(状态)是 “disabled”(不可用)或没有指定 command 选项,则该方法无效。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值