【问题标题】:Opening Tkinter Color Chooser Without Button打开没有按钮的 Tkinter 颜色选择器
【发布时间】:2021-12-03 02:04:16
【问题描述】:

Python:我现在需要为我的编码类使用颜色选择器。但是,该按钮使得在我的代码中合并变得非常困难。无论如何在Python中打开一个没有按钮的颜色选择器?我需要设置一个等于颜色选择器位置的变量。这是我现在的代码。

【问题讨论】:

  • 什么代码?你还没有添加任何东西。还有什么事件应该触发颜色选择器的打开?

标签: python tkinter colors jcolorchooser


【解决方案1】:

不太清楚你想如何在没有按钮或任何其他小部件的情况下调用askcolor()

我会建议简单的解决方案,当按钮的命令绑定到调用askcolour() 对话框并在选择值时为变量分配颜色的函数时。

from tkinter import Tk, Button, Canvas
from tkinter.colorchooser import askcolor
    
class AskColor:

    def __init__(self, master):

        self.master = master
        self.colour = (None,None)
        self.button = Button(self.master, text='Colour', command=self.button_command)
        self.indicator_creation()
        self.button.pack()

    def indicator_creation(self):

        self.indicator = Canvas(self.master)
        self.oval = self.indicator.create_oval(50, 50, 100, 100)
        self.indicator.itemconfig(self.oval, fill=self.colour[1])
        self.indicator.pack()

    def button_command(self):

        chosen_colour = askcolor()
        if chosen_colour != (None,None):
            self.colour = chosen_colour
        self.indicator.itemconfig(self.oval,fill=self.colour[1])
if __name__ == '__main__':

    window = Tk()
    AskColor(window)
    window.mainloop()

After colour selection

Before colour selection

【讨论】:

  • @Matiiss Canvas 只是为了说明结果。 (功能代码不需要)
猜你喜欢
  • 1970-01-01
  • 2020-04-21
  • 2018-11-12
  • 1970-01-01
  • 2018-06-10
  • 2019-05-29
  • 2019-04-08
  • 1970-01-01
  • 2020-01-24
相关资源
最近更新 更多