Button

Button是一个标准的tkinter组件,用于实现各种各样的按钮。
Button可以包含文本或图像,您可以将Python函数或方法与每个按钮相关联。当按下按钮时,tkinter会自动调用该函数或方法。
虽然按钮只能显示单一字体的文本,但文本可以多行显示。
此外,其中的字符可以加下划线,例如标记键盘快捷键。
默认情况下,可以使用Tab键移动到按钮。

普通按钮使用起来非常简单。
您所要做的就是指定按钮的内容(文本、位图或图像)以及按下按钮时要调用的函数或方法。没有回调的按钮是没有灵魂的

from tkinter import *master = Tk()def callback():print ("click!")b = Button(master, text="OK", command=callback)
b.pack()mainloop()

当您在开发应用程序时,很想使用按钮,那就可以先将其禁用。以避免混淆。

b = Button(master, text="Help", state=DISABLED)

如果没有指定按钮大小,那按钮的大小就会自动调整到刚好可以容纳其内容。您可以使用padx和pady选项在内容和按钮边界之间添加额外的空间。 以像素为单位。

b = Button(master, text="OK", command=callback, padx=5, pady=5)

您还可以使用height和width选项来准确地设置大小。
如果在按钮中显示文本,这些选项以文本单位定义按钮的大小。

b = Button(master, text="OK", command=callback, height=2, width=3)

如果显示位图或图像,它们以像素为单位定义大小

pfile = PhotoImage(file='pikapi.gif')
b = Button(master, image=pfile, command=callback)
b.pack()


您甚至可以用像素单位为文本按钮指定大小,但这需要一些技巧

f = Frame(master, height=32, width=32)
f.pack_propagate(0)
f.pack()b = Button(f, text="Sure!", command=callback)
b.pack(fill=BOTH, expand=1)

按钮可以显示多行文本(但只能显示一种字体)。
您可以使用换行,或者使用wraplength选项让按钮自动换行。
在包装文本时,使用anchor、justify选项(可能还有padx选项),以实现需求。

longtext = 'sljdflsjfoiewifojgojgojfgsodjfgowfdsgdfgfdgdfgdfgsd'
b = Button(master, text=longtext, anchor=W, justify=LEFT, padx=2, wraplength=100)
b.pack()

让普通的按钮看起来像是按下的,可以简单地将relief从RAISED改为SUNKEN

b = Button(master, text='OK', height=2, width=3)
b.config(relief=SUNKEN)
b.pack()

甚至您可以将图像和文本在同一按钮中显示

pattern = PhotoImage(file='pikapi.gif')
b = Button(master, text="Click me", image=pattern, compound=CENTER)
b.pack()

方法详解

1. activebackground=

设置点击按钮时按钮的背景色

b = Button(master, text="Click me")
b.config(activebackground='blue')
b.pack()

2. activeforeground=

设置点击按钮时按钮的前景色,即文本颜色

b = Button(master, text="Click me")
b.config(activeforeground='blue')
b.pack()

3. anchor=

控制按钮中文本(或图像)的位置。可选项有N, NE, E, SE, S, SW, W, NW, or CENTER。默认为CENTRE。

b = Button(master, text="Click me", height=20)
b.config(anchor=N)
b.pack()

4. background= / bg=

b = Button(master, text="Click me")
b.config(bg='yellow')
b.pack()

5. borderwidth= / bd=

按钮边框的宽度。默认通常是1或2像素。

b = Button(master, text="Click me")
b.config(bd=5)
b.pack()

6. cursor=

当鼠标移到按钮上时显示的光标。

b = Button(master, text="Click me")
b.config(cursor='star')
b.pack()

7. disabledforeground=

禁用按钮时使用的颜色。

b = Button(master, text="Click me", state=DISABLED)
b.config(disabledforeground='gray')
b.pack()

8. font=

按钮中使用的字体。该按钮只能包含单一字体的文本。

b = Button(master, text="宋体")
b.config(font='宋体')
b.pack()

9. foreground= / fg=

用于文本和位图内容的颜色。

b = Button(master, text="宋体")
b.config(foreground='red')
b.pack()

10. highlightcolor=

当按钮有焦点时用于突出显示边框的颜色。

11. highlightbackground=

当按钮没有焦点时用于突出显示边框的颜色。

12. highlightthickness=

突出显示边框的宽度。

13. justify=

定义如何对齐多行文本。可选项有LEFT,RIGHT和CENTRE。

14. overrelief=

当鼠标移动到组件上时,可以使用其他的relief。

b = Button(master, text="宋体")
b.config(overrelief=SUNKEN)
b.pack()

15. relief=

边框装饰。可选项有SUNKEN,RAISED,GROOVE,RIDGE,FLAT。

16. state=

按钮的状态:ACTIVE,DISABLE或NORMAL

17. takefocus=

指示用户可以使用Tab键移动到此按钮。

18. textvariable=

将tkinter变量(通常是StringVar)关联到按钮。如果变量被更改,按钮文本将被更新。

19. underline=

在文本标签中划线。默认值是-1,这意味着没有任何字符被下划线。

20. flash()

Flash按钮。此方法多次重新绘制按钮,在活动外观和正常外观之间切换。

21. invoke()

调用与按钮相关联的命令。

tkinter库Button组件相关推荐

  1. Tkinter的Button组件的使用

    Button组件是用于实现一个按钮,它的绝大多数选项跟Label组件是一样的,不过Button组件有一个 command选项,用于指定一个函数或者方法,当用户点击按钮的时候,Tkinter就会自动地区 ...

  2. 【封装UI组件库】手把手教你仿一下Element-ui的Button组件(发布至npm)

    所谓UI组件库,就是封装了平常项目开发中经常会使用的页面组件,发布至npm库中作为插件供项目组成员及其他开发者使用(不发布也行),目的就是为了避免多次重复劳动. 以插件的形式使用可以做到即插即用,非常 ...

  3. vue3新拟态组件库开发流程——button组件源码

    首先写最基础的button组件 <script setup> const props = defineProps({}) const emit = defineEmits(["c ...

  4. 封装前端UI组件库--button

    1.前言 ​ 模拟element封装button组件.核心原理就是我们在调用组件的时候传入属性值.button组件内部来接收这些值.并且根据这些值来实现一些效果(控制颜色显示方式等等) 2.调用方法 ...

  5. python tkinter库函数详解_Python使用tkinter库进行GUI编程中常用事件处理方式汇总

    在Python GUI编程中,控件响应事件处理是常用的操作.tkinter库中事件类型有哪些?事件绑定方式有几种?如何编写事件处理函数?这些都是必须要面对的问题.今天,我们对上述内容进行简要汇总. 事 ...

  6. 【5万字】文件增量复制【OS库、Tkinter库等】

    目录 一.文件增量备份 二.OS库 三.Tkinter库 3.1 Tkinter是什么 3.2 Tkinter 模块元素简要说明 3.3 主要部件 3.3.1 创建主窗口及Label部件(标签)创建使 ...

  7. Python中Tkinter解决button的command无返回值问题

    Tkinter是什么 Tkinter是Python的标准GUI库.Python使用Tkinter可以快速地创建GUI应用程序.由于Tkinter属于Python标准库,就不需要使用pip安装,直接导入 ...

  8. Python编写的猜数字小游戏~~~基于Tkinter库

    Python编写猜数字小游戏 编写猜数字小游戏 一.界面 1.PyQt5 2. wxPython 3. PyGTK 二.Tkinter功能 ① 15种核心组件 ② 组件的放置和排版(pack,grid ...

  9. Python图形界面设计(Tkinter库)

    文章目录 创建 Windows 窗口 几何布局管理器 pack 几何布局管理器 grid 几何布局管理器 place 几何布局管理器 Tkinter 组件 标签组件 Label 按钮组件 Button ...

最新文章

  1. 第六篇:协调和协定之组通信
  2. oracle视图能增删改,oracle视图的增删改
  3. kepserver 三菱fx_#电工培训# #plc培训# PLC培训 学在智通 赢在职场【三菱plc吧】
  4. go语言buffio与继承
  5. 利用rsync如何同步单个文件
  6. 使用JOTM实现分布式事务管理(多数据源)
  7. win10前置耳机插孔没声音_音频服务未运行怎么办?win7和win10电脑没声音了恢复方法...
  8. AliOS-Things Visual studio code helloworld 入门
  9. hive mysql5.7_安装并使用mysql5.7作为hive的metastore
  10. oracle asm 删除diskgroup,ASM磁盘组删除DISK操作
  11. unsigned long long 溢出 乘_Java整数相加溢出怎么办?Java8一步搞定
  12. 自创小插件让emacs支持工程项目
  13. 【今日CS 视觉论文速览】Part2, 16 Jan 2019
  14. 【Java面试题】19 final,finally和finalize的区别
  15. Apache POI操作Excel的坑
  16. 爬虫:Python爬虫学习笔记之网页解析基础——爬取360导航栏目
  17. pyqt5 显示更新进度条_python如何通过pyqt5实现进度条
  18. Proteus7.8 ISIS制图8个LED(针对初次使用者)
  19. 软件评测师教程书本对软考的作用有多大?
  20. 《冰河的渗透实战笔记》电子书,442页,37万字,正式发布!!

热门文章

  1. python:写坤打球
  2. 关于idea利用wsdl文件调用相关接口的问题
  3. 如何判断笔记本蓝牙硬件坏了_怎么看笔记本蓝牙版本 不是蓝牙4.0?
  4. 很有道理的一段话。。。。
  5. 微信“史诗级”更新,小而美终于回来啦!
  6. 微服务架构 — 服务治理 — 服务调用链可视化
  7. 微软:修复系统漏洞你们还骂我???
  8. f5 oracle 2017,顽强的本田F5,2017款CBR600RR竟然有货
  9. 【Python简明教程十二】Python元组
  10. VOS3000用户管理中权限设置的几种类型和权限模板的区别