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. 共享数据库、共享数据表
  3. android转web,Android 转 web app 笔记一:Touch事件
  4. ROS中阶笔记(十):ROS机器人综合应用
  5. P1828 香甜的黄油 (spfa)
  6. 曹则贤:从一元二次方程到规范场论 | 中国科学院2022跨年科学演讲
  7. IT工程师学习方法和发展路线
  8. Duilib控件拖动改变大小
  9. abaqus土木结构视频教程
  10. python暴力破解WiFi
  11. C++学习(一七八)Android的arm64-v8a、armeabi-v7a、armeabi、x86
  12. FineReport制作报表讲解(基本操作以及网络报表)
  13. Unable to establish SSL connection.
  14. 深红色LaTeX PPT模板解释说明
  15. 红米note3耍android8.0,凡人手机进化论 篇六:软件小白入门,红米note3全网通版刷入魔趣体验安卓9.0的快乐...
  16. word文档中表格顶头怎么调整_word使用技巧之-Word文字处理技巧,学会不求人!...
  17. springboot配置mysql数据源_SpringBoot+mysql配置两个数据源
  18. MD5大小写,32,16
  19. matlab三大数组之构架数组
  20. Innovus/ICC2在命令行窗口打开GUI界面的命令

热门文章

  1. 用python将网页链接转二维码——以自己的博客为例
  2. bui前端框架+yii整理
  3. NLP学习笔记——TextRank算法
  4. Charles windows使用教程 (手机:安卓系统,如Nexus 6P)
  5. 计算机音乐奔跑,十首适合跑步的音乐 跑出节奏感
  6. lite version是什么
  7. IDEA 常用配置与使用
  8. 利用Theano理解深度学习——Convolutional Neural Networks
  9. kafka为什么使用Scala开发?
  10. 潘建伟团队再登Nature:建成全球首个集成量子通信网,全长4600公里