Tkinter colorchooser to use native colour picker module and assign selected colors to the widget
import tkinter as tk
from tkinter import colorchooser
def collect_color():
c_code = colorchooser.askcolor()
#my_w.config(background=c_code[1]) # change the background color of window
print(c_code)
my_w = tk.Tk()
my_w.geometry("410x250") # Size of the window
b1=tk.Button(my_w,text='Select Background',command=lambda:collect_color())
b1.grid(row=1,column=1,padx=20,pady=20)
my_w.mainloop() # Keep the window open
Changing the background colour of the window ( Un-comment the line above )
my_w.config(background=c_code[1])
Selecting background colour for buttons
We can display more Buttons and onClick of the button the colour picker dialog will open. User can select the colour and the button will use the selected colour as background colour.
import tkinter as tk
from tkinter import colorchooser
def collect_color(k):
c_code = colorchooser.askcolor(title ="Select color")
buttons[k].config(bg=c_code[1])
my_w = tk.Tk()
my_w.geometry("410x250") # Size of the window
n=20 # number of buttons
i=2 # row
j=0 # column
buttons = []
for k in range(n):
e = tk.Button(my_w, text=k,height=2,width=10,
command=lambda k=k: collect_color(k))
e.grid(row=i, column=j,padx=1,pady=1)
buttons.append(e)
j=j+1
if(j%5==0):
i=i+1
j=0
my_w.mainloop() # Keep the window open