python - 如何在 tkinter 中设置用户选择的背景颜色?
问题描述
如何获取用户选择的颜色并将其用作 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)
解决方案
让我们通过填写一些缺失的部分来完成这项工作:
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
,我们跟踪对StringVar
.
推荐阅读
- reactjs - ReactJs:关于 node-sass 的 npm errr
- python - python sdk 错误 python 3.10 on py charm for m1
- mongodb - 如何删除 mongdb 中的多个 id,但每个 1 id 只能删除 1 个文档?
- apache - Apache 反向代理:位置重定向中未添加路径
- rust - 消息:调用方法时“实例化过程中发生错误”
- python - 按下空格键时出现错误“TypeError: pygame.sprite.Sprite.add() argument after * must be an iterable, not Settings”
- javascript - 从 nock 记录中删除敏感信息
- html - 如何使导航栏适合整页?
- php - PHPMyAdmin 在远程服务器上没有按预期工作。错误 500,未找到 $respond
- flutter - Flutter 丰富的内容本地化