【问题标题】:How to make button change colour in tkinter?如何使按钮在 tkinter 中改变颜色?
【发布时间】:2019-12-09 01:58:27
【问题描述】:

如何在 python tkinter 3 中让按钮更改颜色?
我看到一个使用自我代码,但我不喜欢使用它。代码如下:

from tkinter import *
from tkinter import ttk
root = Tk()

button = ttk.Button(root, text = "Click Me")
button.pack()
button.config(command = colour_change)

def colour_change():
    button.config(background= "green")

【问题讨论】:

  • 出现错误。出现:名称“colour_change”未定义
  • 将函数移到按钮创建代码上方。该函数在您尝试引用它时未定义。

标签: python python-3.x button tkinter


【解决方案1】:

我不完全确定您所说的“我看到一个使用 self 代码...”是什么意思,但本质上,您可以选择设置按钮的背景颜色:

  1. 在创建时通过向构造函数传递参数

    btn = Button(root, bg='red') # and other parameters if you like
    
  2. 只要你想,一旦对象被创建,直到它的引用是有效的

    btn.config(bg='green')
    

    现在,何时调用此方法完全取决于您。只是您显示的代码 sn-p 是在单击该按钮本身时执行的。

【讨论】:

  • 你是说我必须给按钮一个颜色,然后我才能改变它,因为它被点击了?另外,我的意思是有多少人在遇到这些问题时会提供带有 self.button 的代码,而不仅仅是按钮,或者他们可能会定义一个函数并通过参数 self
  • 实例化时不需要设置任何颜色。当您想要更改按钮颜色时,只需在按钮对象上调用 config(bg='green')。
猜你喜欢
  • 2018-05-17
  • 2017-02-22
  • 2014-02-22
  • 1970-01-01
  • 2017-09-11
  • 2018-04-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多