???
感谢优秀的你打开了小白的文章
“希望在看文章的你今天又进步了一点点,离美好生活更近一步!”
前言
本台预告:随着图像处理和人脸识别系列文章的结束,在未来的若干天内将持续更新gui界面编程,欢迎喜欢的小伙伴一起学习!
Button(按钮)用来执行用户的单击操作。Button 可以包含文本,也可以包含图像。按钮被单击后会自动调用对应事件绑定的方法。
Button 控件是一种标准 Tkinter 控件, 用来展现不同样式的按钮. Button 控件被用以和用户交互, 比如按钮被鼠标点击后, 某种操作被启动. 和 Label 控件类似, 按钮可以展示图片或者文字. 不同的是, Label 控件可以指定字体, Button 控件只能使用单一的字体. Button 上的文字可以多行显示.属性按钮Button控件的属性:
可以将一个 Python 函数或方法绑定到一个 Button 控件. 这个函数或方法将在按钮被点击时执行.
activebackground, activeforeground
类型:颜色;
说明:当按钮被激活时所使用的颜色。
anchor
类型:常量;
说明:控制按钮上内容的位置。使用N, NE, E, SE, S, SW, W, NW,or CENTER这些值之一。默认值是CENTER。
background (bg), foreground (fg)
类型:颜色;
说明:按钮的颜色。默认值与特定平台相关。
bitmap
类型:位图;
borderwidth (bd)
类型:整数;
说明:按钮边框的宽度。默认值与特定平台相关。但通常是1或2象素。
command
类型:回调;
说明:当按钮被按下时所调用的一个函数或方法。所回调的可以是一个函数、方法或别的可调用的Python对象。
cursor
类型:光标;
说明:当鼠标移动到按钮上时所显示的光标。
default
类型:常量;
说明:如果设置了,则按钮为默认按钮。注意这个语法在Tk 8.0b2中已改变。
disabledforeground
类型:颜色;
说明:当按钮无效时的颜色。
font
类型:字体;
说明:按钮所使用的字体。按钮只能包含一种字体的文本。
highlightbackground, highlightcolor
类型:颜色;
说明:控制焦点所在的高亮边框的颜色。当窗口部件获得焦点的时候,边框为highlightcolor所指定的颜色。否则边框为highlightbackground所指定的颜色。默认值由系统所定。
highlightthickness
类型:距离;
说明:控制焦点所在的高亮边框的宽度。默认值通常是1或2象素。
image
类型:图象;
说明:在部件中显示的图象。如果指定,则text和bitmap选项将被忽略。
justify
类型:常量;
说明:定义多行文本如何对齐。可取值有:LEFT, RIGHT, 或 CENTER(默认)。
padx, pady
类型:距离;
说明:指定文本或图象与按钮边框的间距。
relief
类型:常量;
说明:边框的装饰。通常按钮按下时是凹陷的,否则凸起。另外的可能取值有GROOVE, RIDGE, 和 FLAT。
state
类型:常量;
说明:按钮的状态:NORMAL, ACTIVE 或 DISABLED。默认值为NORMAL。
takefocus
类型:标志;
说明:表明用户可以Tab键来将焦点移到这个按钮上。默认值是一个空字符串,意思是如果按钮有按键绑定的话,它可以通过所绑定的按键来获得焦点。
text
类型:字符串;
说明:显示在按钮中的文本。文本可以是多行。如果bitmaps或image选项被使用,则text选项被忽略。
textvariable
类型:变量;
说明:与按钮相关的Tk变量(通常是一个字符串变量)。如果这个变量的值改变,那么按钮上的文本相应更新。
【gui编程|GUI 图形用户界面编程(四)-Button组件】underline
类型:整数;
说明:在文本标签中哪个字符加下划线。默认值为-1,意思是没有字符加下划线。
width, height
类型:距离;
说明:按钮的尺寸。如果按钮显示文本,尺寸使用文本的单位。如果按钮显示图象,尺寸以象素为单位(或屏幕的单位)。如果尺寸没指定,它将根据按钮的内容来计算。
wraplength
类型:距离;
说明:确定一个按钮的文本何时调整为多行。它以屏幕的单位为单位。默认不调整。
具体实例
"""测试Button组件的基本用法,使用面向对象的方式"""from tkinter import *
from tkinter import messageboxclass Application(Frame):def __init__(self, master=None):
super().__init__(master)# super()代表的是父类的定义,而不是父类对象
self.master = master
self.pack()
self.createWidget()def createWidget(self):
"""创建组件"""
self.btn01 = Button(root, text="登录",
width=12,height=2,anchor=NE,command=self.login)
self.btn01.pack()global photo
photo = PhotoImage(file="imgs/start.gif")
self.btn02 = Button(root, image=photo,command=self.login)
self.btn02.pack()
self.btn02.config(state="disabled")#设置按钮为禁用def login(self):
messagebox.showinfo("登录成功!欢迎开始游戏!", "欢迎来到王者荣耀")if __name__ == '__main__':
root = Tk()
root.geometry("500x330+500+400")
app = Application(master=root)
root.mainloop()
运行结果
文章图片
文章图片
推荐阅读
- 推荐系统论文进阶|CTR预估 论文精读(十一)--Deep Interest Evolution Network(DIEN)
- 【C】题目|【C语言】题集 of ⑥
- 程序员|【高级Java架构师系统学习】毕业一年萌新的Java大厂面经,最新整理
- Python专栏|数据分析的常规流程
- JavaScript|JavaScript — 初识数组、数组字面量和方法、forEach、数组的遍历
- JavaScript|JavaScript — call()和apply()、Date对象、Math、包装类、字符串的方法
- Python|Win10下 Python开发环境搭建(PyCharm + Anaconda) && 环境变量配置 && 常用工具安装配置
- Python绘制小红花
- Pytorch学习|sklearn-SVM 模型保存、交叉验证与网格搜索
- OpenCV|OpenCV-Python实战(18)——深度学习简介与入门示例