在customtkinter中调用cget()获取按钮文本报错,如何解决?
标准tkinter里能用cget("text")获取按钮文本,但CustomTkinter的CTkButton用同样写法会抛出_tkinter.TclError: unknown option "-text"错误——这是因为CustomTkinter的组件封装逻辑和标准tkinter不同,text参数被作为实例属性直接存储,而非通过Tcl选项系统暴露。
有两种正确的获取方式:
方式一:直接访问实例的text属性
这是最简单直接的方法:
from customtkinter import * root = CTk() button = CTkButton(text="hello") button.pack() button_text = button.text print(button_text) # 输出: hello
方式二:使用CustomTkinter的cget方法(注意参数格式)
如果习惯用类似cget的调用方式,需要传递不带短横线的属性名给cget:
from customtkinter import * root = CTk() button = CTkButton(text="hello") button.pack() button_text = button.cget("text") print(button_text) # 输出: hello
注:早期版本的CustomTkinter可能存在
cget方法兼容问题,优先推荐方式一。
内容的提问来源于stack exchange,提问作者Paul Weinmann
相关产品推荐
相关产品推荐

