【问题标题】:Tkinter: Getting Canvas Attribute and Options ValuesTkinter:获取 Canvas 属性和选项值
【发布时间】:2020-10-02 22:01:26
【问题描述】:

我想这是一个相当基本的 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")

感谢您的帮助!

【问题讨论】:

    标签: python tkinter canvas tkinter-canvas


    【解决方案1】:

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

    不带参数调用canvas.config() 将返回当前配置的字典

    Universal Widget methods that relate to configuration of options:

    这些方法是在所有小部件上定义的。在描述中,w 可以是任何类型的任何小部件。

    w.cget(option):以字符串形式返回 option 的当前值。您还可以通过 w[option] 获取小部件 w 的选项值。

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

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

    您还可以使用语句w[option] = value 为小部件 w 设置选项的值

    如果您在不带参数的小部件上调用.config() 方法,您将获得包含所有小部件当前选项的字典。键是选项名称(包括别名,如用于边框宽度的 bd)。每个键的值是:

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

    对于别名(如“fg”),一个二元组:(alias name, equivalent standard name)

    【讨论】:

    • .config() 返回的不仅仅是配置的值。 .cget("background") 将返回配置的背景颜色,但 .configure("background") 将返回比值更多的信息。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-09
    • 2015-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多