首页 > 解决方案 > 当我在 tkinter GUI 中单击时,我想更改按钮的背景颜色

问题描述

我有一个 python GUI 代码可以打开和关闭。我需要修改代码,比如当我按下打开按钮时,按钮颜色变为绿色,当我按下关闭按钮时,打开按钮颜色变为默认颜色。

from serial import*
from time import*
from tkinter import*

window = Tk()

def open_command():
    print("Opening")

def close_command():
    print("Closing")

b = Button(window, text = "Open", font = ("Times New Roman", 12), fg = "green", bg = "white", height = 1, width = 5, command = open_command).pack()
b = Button(window, text = "Close", font = ("Times New Roman", 12), fg = "red", bg = "white", height = 1, width = 5, command = close_command).pack()

mainloop()

单击打开按钮时,打开按钮的颜色需要从其默认颜色更改为绿色。如果我们单击关闭按钮关闭按钮颜色需要更改为红色,打开按钮颜色更改为其默认颜色。

标签: pythontkinter

解决方案


您可以简单地使用.config(bg=...)将按钮的背景颜色更改为您想要的任何颜色,如下所示:

import tkinter as tk

window = tk.Tk()

def open_command():
    open_btn.config(bg='green')
    close_btn.config(bg='white')

def close_command():
    open_btn.config(bg='white')
    close_btn.config(bg='red')

font=('Times New Roman', 12)
open_btn = tk.Button(window, text='Open', font=font, fg='green', bg='white', width=5, command=open_command)
open_btn.pack()
close_btn = tk.Button(window, text='Close', font=font, fg='red', bg='white', width=5, command=close_command)
close_btn.pack()

window.mainloop()

推荐阅读