Tkinter: 获取Canvas属性和选项值

问题描述 投票:1回答:1

我想这是一个相当基本的Tkinter问题--但我是个新手,搜索了一下也没有看到这个答案。

我希望能够在Tkinter中检查我的画布的属性是什么。所以..,

canvas = tk.Canvas(root, 200,200, bg="blue") 
canvas2 = tk.Canvas(root, 200,200, bg="red")
canvases = [canvas, canvas2]

我正在寻找的是检查画布属性的东西。例如

for canvas in canvases:
   if canvas.get_color() == "red": # IS THERE SOMETHING LIKE get_color... or get_attr(bg)? 
        print("HECK YA")
   else:
        print("I'm feeling blue")

谢谢你的帮助!我想这是一个相当基本的Tkinter问题。

python tkinter canvas tkinter-canvas
1个回答
1
投票

你可以调用 canvas.config('attribute') 来获取一个给定属性的值.如 canvas.config('bg') 返回背景的值。

调用 canvas.config() 将返回一个当前配置的字典,没有参数

与配置选项有关的通用小部件方法。:

方法定义在所有widget上。在说明中,w可以是任何类型的widget。

w.cget(option): 以字符串形式返回选项的当前值。你也可以用w[option]来获取w小组件的选项值。

w.config(option=value, ...) 与.configure()相同。

w.configure(option=value, ...) 设置一个或多个选项的值。对于名字是 Python 保留字的选项 (class, from, in),使用尾部的下划线:'class_', 'from_', 'in_'。

您也可以使用语句为 widget w 设置一个选项的值。w[option] = value

如果你打电话给 .config() 方法上,你会得到一个包含所有widget当前选项的字典。键是选项名称(包括别名,如 bd 代表 borderwidth)。每个键的值是。

对于大多数条目,是一个五元组。(option name, option database key, option database class, default value, current value)或,

对于别名(如'fg'),是一个双元组。(alias name, equivalent standard name).

© www.soinside.com 2019 - 2024. All rights reserved.