tkinter库Button组件
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组件相关推荐
- Tkinter的Button组件的使用
Button组件是用于实现一个按钮,它的绝大多数选项跟Label组件是一样的,不过Button组件有一个 command选项,用于指定一个函数或者方法,当用户点击按钮的时候,Tkinter就会自动地区 ...
- 【封装UI组件库】手把手教你仿一下Element-ui的Button组件(发布至npm)
所谓UI组件库,就是封装了平常项目开发中经常会使用的页面组件,发布至npm库中作为插件供项目组成员及其他开发者使用(不发布也行),目的就是为了避免多次重复劳动. 以插件的形式使用可以做到即插即用,非常 ...
- vue3新拟态组件库开发流程——button组件源码
首先写最基础的button组件 <script setup> const props = defineProps({}) const emit = defineEmits(["c ...
- 封装前端UI组件库--button
1.前言 模拟element封装button组件.核心原理就是我们在调用组件的时候传入属性值.button组件内部来接收这些值.并且根据这些值来实现一些效果(控制颜色显示方式等等) 2.调用方法 ...
- python tkinter库函数详解_Python使用tkinter库进行GUI编程中常用事件处理方式汇总
在Python GUI编程中,控件响应事件处理是常用的操作.tkinter库中事件类型有哪些?事件绑定方式有几种?如何编写事件处理函数?这些都是必须要面对的问题.今天,我们对上述内容进行简要汇总. 事 ...
- 【5万字】文件增量复制【OS库、Tkinter库等】
目录 一.文件增量备份 二.OS库 三.Tkinter库 3.1 Tkinter是什么 3.2 Tkinter 模块元素简要说明 3.3 主要部件 3.3.1 创建主窗口及Label部件(标签)创建使 ...
- Python中Tkinter解决button的command无返回值问题
Tkinter是什么 Tkinter是Python的标准GUI库.Python使用Tkinter可以快速地创建GUI应用程序.由于Tkinter属于Python标准库,就不需要使用pip安装,直接导入 ...
- Python编写的猜数字小游戏~~~基于Tkinter库
Python编写猜数字小游戏 编写猜数字小游戏 一.界面 1.PyQt5 2. wxPython 3. PyGTK 二.Tkinter功能 ① 15种核心组件 ② 组件的放置和排版(pack,grid ...
- Python图形界面设计(Tkinter库)
文章目录 创建 Windows 窗口 几何布局管理器 pack 几何布局管理器 grid 几何布局管理器 place 几何布局管理器 Tkinter 组件 标签组件 Label 按钮组件 Button ...
最新文章
- 第六篇:协调和协定之组通信
- oracle视图能增删改,oracle视图的增删改
- kepserver 三菱fx_#电工培训# #plc培训# PLC培训 学在智通 赢在职场【三菱plc吧】
- go语言buffio与继承
- 利用rsync如何同步单个文件
- 使用JOTM实现分布式事务管理(多数据源)
- win10前置耳机插孔没声音_音频服务未运行怎么办?win7和win10电脑没声音了恢复方法...
- AliOS-Things Visual studio code helloworld 入门
- hive mysql5.7_安装并使用mysql5.7作为hive的metastore
- oracle asm 删除diskgroup,ASM磁盘组删除DISK操作
- unsigned long long 溢出 乘_Java整数相加溢出怎么办?Java8一步搞定
- 自创小插件让emacs支持工程项目
- 【今日CS 视觉论文速览】Part2, 16 Jan 2019
- 【Java面试题】19 final,finally和finalize的区别
- Apache POI操作Excel的坑
- 爬虫:Python爬虫学习笔记之网页解析基础——爬取360导航栏目
- pyqt5 显示更新进度条_python如何通过pyqt5实现进度条
- Proteus7.8 ISIS制图8个LED(针对初次使用者)
- 软件评测师教程书本对软考的作用有多大?
- 《冰河的渗透实战笔记》电子书,442页,37万字,正式发布!!