Как установить выбранный пользователем цвет фона в tkinter? - PullRequest
1 голос
/ 06 июля 2019

Как взять выбранный пользователем цвет и использовать его в качестве цвета фона рамки tkinter?

list2 = ["red", "red", "red", "red", "blue", "yellow"];
droplist = OptionMenu(root, c, *list2)
droplist.config(width=15)
c.set('select your colour')
droplist.place(x=240, y=320)
root.configure(bg=c)

1 Ответ

3 голосов
/ 06 июля 2019

Давайте сделаем эту работу, заполнив некоторые недостающие фрагменты:

import tkinter as tk

COLORS = ["red", "blue", 'green', 'cyan', 'magenta', "yellow"]

def change_color(*args):
    root.configure(bg=color.get())

root = tk.Tk()
root.minsize(width=200, height=200)

color = tk.StringVar(root)
color.trace('w', change_color)
color.set(COLORS[0])

om = tk.OptionMenu(root, color, *COLORS)
label = tk.Label(root, text='Select your color')

om.pack(side="top")
label.pack(side="top")

root.mainloop()

Первым отсутствующим элементом был StringVar, связанный с OptionMenu, что позволяет вам связать его. Чтобы связать функцию обратного вызова с OptionMenu, мы trace изменим на StringVar.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...