python - 制作一个可以被多个按钮使用的功能

标签 python function button tkinter

只是想知道是否有办法使该功能可以影响多个小部件。我想要发生的是,当我单击按钮时,它会使用该函数从红色变为绿色;

def colour_change():
   self.configure(bg="green")

button1 = Tk.Button(self, bg="red")
button1.pack()
button2 = Tk.Button(self, bg="red)
button2.pack()

例如,当您按下按钮 1 时,它应该从红色变为绿色。与按钮 2 相同。我知道我可以使用单独的功能来完成此操作,但是我是否可以在同一个功能中完成此操作?

最佳答案

不知何故,你的函数需要识别哪个小部件调用了它;一种方法是传递引用该小部件的参数。在以下示例中,调用命令时将传递包含小部件的列表的索引:

import tkinter as tk


def colour_change(which_button):
    if buttons[which_button]['fg'] == 'red':
        buttons[which_button].configure(fg="blue")
    else:
        buttons[which_button].configure(fg="red")

root = tk.Tk()

button1 = tk.Button(root, text='button 1', fg="red", command=lambda: colour_change(0))
button1.pack()
button2 = tk.Button(root, text='button 2', fg="red", command=lambda: colour_change(1))
button2.pack()

buttons = [button1, button2]

root.mainloop()

关于python - 制作一个可以被多个按钮使用的功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52250125/

相关文章:

python - 按照字符串中的格式用日期时间填充 python 字符串

r - 在 R 中编写一个包含 if/else 语句和 rowSums() 的函数,定义如何处理 NA

ios - 使后退按钮以编程方式转到上一个 View

php - 按 HTML 按钮截断 MySQL 表

c++ - 程序停止工作

java - 使用单选按钮更改 GUI 的颜色

python - Matlab 在 python 中的 imadjust 是什么?

python - Python 中的正则表达式

python - keras lstm 输入形状不正确

JavaScript 和自执行函数