Tkinter组件-Button按键

Button按键

Button 简介

在GUI图形界面中,用户需要有时候需要做一些确定的动作,例如播放视频,输入完账号密码后点击登录。这个时候需要就需要引入一个按钮(Button)供用户完成这个操作,在Tkinter内提供了Button方法,创建一个按钮。

Button在Tkinter中的调用

在Tkinter中,可以使用以下语法产生一个按钮。

Btn01 = Button(master,text,height,width,
		anchor,command,font)
# 使用pack()布局,后面在布局会有详细解释
Btn01.pack()
"""
master:父类组件,表示这个Button放在那个父类容器下
text:Button上的文本呢
height:高度
width:宽度
anchor:文本在这个Button组件的什么位置,可选以下值:
		N、S、E、W、NE、NW、SE、SW、CENTER
command:绑定的事件,通常是一个函数
font:传入一个元组,(font,font_size)表示字体和字号
"""

如果我们在上述方法中重新更改其中的某一个参数,可以使用属性索引进行修改,如修改按键的文本内容为‘退出’,可以使用以下两个语句:

# 方法一:利用属性索引进行修改属性值
Btn01['text']='退出'
# 方法二:对大多数组件都适用,即利用config方法
Btn01.config(text='退出')

也可以使用以下方法定义一个按钮:

Button(master,text,height,width,anchor,command,
		font).pack()
# 参数一样,省去了接受的变量,更加简洁

案例

题目:我们需要定义两个按键,一个登录按键,当点击的时候弹出登陆成功。另外设计一个“常见问题答疑”,当用户点击时,出现一些常见问题,可自定义。
具体实现代码如下:

from tkinter import *
from tkinter import messagebox
from PIL import Image, ImageTk
class Application(Frame):
    def __init__(self, master):
        super().__init__(master)
        self.pack()
        self.CreateWidget()

    def CreateWidget(self):
        self.btn01= Button(master=self, text='登录', width=5, height=2, anchor='center', command=self.login, font=('楷体', 15))
        self.btn01.pack()
        original_image = Image.open(r'E:\Python_learning\GUI\sources\Ans_ques.png')  # 替换为你的图片路径
        resized_image = original_image.resize((50, 50))  # 调整图片大小
        self.photo = ImageTk.PhotoImage(resized_image)
        self.btn02 = Button(master=self, image=self.photo,text='常见问题答疑', font=('楷体', 15), fg='black', command=self.Answer, compound='left')
        self.btn02.pack()

    def login(self):
        messagebox.showinfo('登录','登陆成功')

    def Answer(self):
        messagebox.showinfo(title='常见问题答疑', message='1.一年有多少天?\n答:闰年有366天,平年365天\n'
                                                          '2.一年有几个大小月?分别是几月?\n答:1、3、5、7、8、10、12是大月;4、6、9、11是小月')
root = Tk()
app = Application(master=root)
root.title('Button组件控制')
root.geometry('500x300+800+350')
root.mainloop()

实现效果如下:
主界面如下所示:
在这里插入图片描述
当点击登录时,显示以下内容:
在这里插入图片描述
点击常用问题答疑,显示以下内容:
在这里插入图片描述

### 创建带有点击事件的按钮 在Python Tkinter中创建带点击事件的按钮涉及几个基本步骤。下面是一个完整的例子,展示了如何定义一个简单的窗口,并在这个窗口内放置一个按钮,该按钮绑定了一个点击事件。 #### 定义点击事件函数 首先,需要编写一个函数作为按钮被按下后的响应逻辑: ```python import tkinter as tk from functools import partial def on_button_click(value): print(f"The value passed is {value}") ``` 此部分代码定义了一个名为`on_button_click` 的函数,它接受一个参数 `value` 并将其打印到控制台[^1]。 #### 设置主窗口和按钮组件 接着设置主应用程序窗口以及按钮控件本身: ```python root = tk.Tk() var = tk.IntVar() # 假设这里有一个整型变量用于传递给回调函数 button = tk.Button( root, text="Click Me", command=partial(on_button_click, var.get()) ) button.pack() root.mainloop() ``` 上述代码片段初始化了Tkinter根窗口实例 (`tk.Tk()`), 使用 `IntVar()` 来模拟可能存在的动态数据源,之后利用 `Button` 构造器创建了一个新的按钮对象,指定了显示文本 `"Click Me"` 和命令属性 `command`, 这里使用了来自标准库模块 `functools.partial` 方法来允许向回调函数传入额外参数。 请注意,在实际应用开发过程中,通常会在类方法内部实现这些功能,以便更好地管理状态和其他资源;此外,对于更复杂的交互需求,则可以考虑采用面向对象编程的方式构建GUI程序。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值