首页 > 其他分享 >tkinter基础组件——Button

tkinter基础组件——Button

时间:2024-08-31 22:21:59浏览次数:7  
标签:tkinter text app tk 按钮 组件 btn Button

在 tkinter 中,Button 组件用于在窗口上创建一个按钮,该按钮可以被点击以执行某个操作。下面具体介绍Button组件常用的属性和方法:

一、常用属性

1、text:按钮上显示的文本

btn = tk.Button(app, text='Click me')

2、command:指定按钮被点击时要执行的回调函数

btn = tk.Button(app, text='Click me', command=click_fn)

3、fg:按钮上显示的字体颜色

btn = tk.Button(app, text='Click me', fg='white')

4、bg:按钮显示的背景颜色

btn = tk.Button(app, text='Click me', bg='green', fg='white')

5、state:设置按钮的状态,可以是 'normal', 'active', 'disabled'

btn = tk.Button(app, text='Click me', state='disabled')

6、image:设置按钮显示的图像

photo = tk.PhotoImage(file='myico.png')
btn = tk.Button(app, image=photo)

7、compound:同时设置 text 和 image,可以用该属性指定图片相对于文本的位置,可以是 'top', 'bottom', 'left', 'right', 'center'

photo = tk.PhotoImage(file='myico.png')
btn = tk.Button(app, text="click me", image=photo, compound='center')
二、常用方法

1、config:修改已有按钮的属性

btn.config(state='disabled')

2、invoke:程序上主动触发按钮点击事件,执行其 command 回调函数,类似点击按钮的效果

btn.invoke()
三、完整示例
import tkinter as tk
from tkinter import messagebox
app = tk.Tk()
app.geometry("500x300+400+300")


def click_fn():
    btn.config(state='disabled')
    messagebox.showinfo("Hello", "button clicked!")


photo = tk.PhotoImage(file='myico.png')
btn = tk.Button(app, text='Click me',image=photo, compound='top',bg='lightgray', fg='white', command=click_fn)
btn.place(x=10, y=10)

app.mainloop()

以上代码实现功能:点击按钮后弹窗提示,并将按钮设置成禁用状态,效果如下:

标签:tkinter,text,app,tk,按钮,组件,btn,Button
From: https://blog.csdn.net/FineHuan/article/details/141645908

相关文章

  • 【基于python tkinter的本地音乐播放器优化版】
    系列文章目录本地音乐播放器初版本地小说阅读器初版本地小说阅读器优化版文章目录系列文章目录前言一、功能介绍二、使用注意项三、界面展示1)菜单分类:2)关键字搜索3)拓展项4)临时列表四、附件前言前面写了一文,学习开发本地音乐播放器,小试牛刀,界面小气、粗糙且羞涩......
  • MacOS 中 python无法正常使用turtle或tkinter 解决方案(备份文章)
    将以前在win机子上写的python文件拿到mac上复习时发现的问题直接运行turtle文件出现了以下报错原文:DEPRECATIONWARNING:ThesystemversionofTkisdeprecatedandmayberemovedinafuturerelease.Pleasedon’trelyonit.SetTK_SILENCE_DEPRECATION=1t......
  • 终究还是太全面了——Vue二次封装组件和组件库
    目录项目亮点技能:Vue二次封装组件的技巧及要点一、保持原有组件的接口1.继承第三方组件的Attributes属性2.继承第三方组件的Event事件3.使用第三方组件的Slots4.使用第三方组件的Methods二、v-model实现双向绑定1.v-model在Vue2和Vue3中的区别2.避免违背V......
  • 【Java设计模式】组件模式:使用可复用组件简化复杂系统
    文章目录【Java设计模式】组件模式:使用可复用组件简化复杂系统一、概述二、组件设计模式的别名三、组件设计模式的意图四、组件模式的详细解释及实际示例五、Java中组件模式的编程示例六、何时在Java中使用组件模式七、组件模式在Java中的实际应用八、组件模式的优点和权......
  • 【安全运营】安全自动化协议SCAP及其12大组件介绍
    一、SCAP产生背景二、SCAP简介三、SCAP12大组件介绍四、已经支持SCAP的安全工具五、参考链接原创全栈安全由于计算机和网络技术的快速发展,越来越多的软件和系统被应用到企业和机构中,这些软件和系统的安全问题也日益凸显。传统的安全措施,如防火墙、入侵检测等,已经......
  • helm学习第四篇-微服务组件的加入
    微服务的组件也放进去—向外扩张要将Nacos服务添加到你已经包含了SpringBoot、Redis、MySQL和RocketMQ的HelmChart中,你可以按照以下步骤操作:注意!!:nacos好像只有helm文件的github仓库,没有helm的包地址仓库。所以一会思路:找到nacos的github仓库:nacos仓库......
  • helm-增加微服务组件进去
    微服务的组件也放进去—向外扩张要将Nacos服务添加到你已经包含了SpringBoot、Redis、MySQL和RocketMQ的HelmChart中,你可以按照以下步骤操作:注意!!:nacos好像只有helm文件的github仓库,没有helm的包地址仓库。所以一会思路:找到nacos的github仓库:nacos仓库......
  • Redis组件介绍(三)
    写在前面今天来继续学习Redis。Redis持久化机制快照(Snapshot)特点快照持久化可以将某一时刻的所有数据写入硬盘,默认开启,保存为.rdb文件,也称为RDB持久化。快照生成方式客户端方式BGSAVE使用BGSAVE命令创建快照,Redis会创建一个子进程进行写入,父进程继续处理......
  • antd vue switch组件怎么把值true、false改为uint32类型的1和0
    背景已知switch组件的checked属性默认是传入true和false的,但是有这样的业务情景,既需要使用的是开关,又需要传入的是整数,那么我们应该如何修改呢?解决方案<a-form-itemlabel="允许失败时保存"><a-switch:checked="switchValue===1"@change="handleSwitchChan......
  • uni-app之camera组件-人脸拍摄i6
    小程序录制视频;10-30秒;需要拍摄人脸,大声朗读数字(123456)这种。1.camera组件camera页面内嵌的区域相机组件。注意这不是点击后全屏打开的相机camera只支持小程序使用;官网链接1.2效果图1.3页面布局camera设置宽100%,高度通过uni.getSystemInfo获取,全屏展示。在通过定位把......