+ -
当前位置:首页 → 问答吧 → 请教,关于Tkinter的create_window()和itemconfig()

请教,关于Tkinter的create_window()和itemconfig()

时间:2011-11-10

来源:互联网

cnv3 = tk.Canvas(root,height=30,width=310)
cnv3.pack(side='top',padx=0,pady=0,anchor='c')
cnv3.create_window( 50,15,tags='BTN1',window=tk.Button(root,text=u'侦听',width=8,command=lambda: btnClick(cnv3,'BTN1')))

下面我用itemconfig()配置BTN1的text属性却说没有text属性,为什么呀???
cnv3.itemconfig('BTN1',text='BBBB')

_tkinter.TclError: unknown option "-text"

作者: XIVN1987   发布时间: 2011-11-10

用string试试

作者: libralibra   发布时间: 2011-11-10

itemconfig可以改变的是该按钮作为canvas item的属性,有position, anchor, height, width, tags等等。

一个可能的办法是你自己保存一个该按钮的指针,就可以用config来改变它的属性。

Python code

canvas = Canvas(...)
button = Button(...)
canvas.create_window(..., window = button, ...)

# later, you can do
button.config(...)

作者: panghuhu250   发布时间: 2011-11-10

引用 1 楼 libralibra 的回复:

用string试试


什么意思啊??不懂!!大侠能否讲的详细的,如何操作,谢谢!!!

作者: XIVN1987   发布时间: 2011-11-10

引用 2 楼 panghuhu250 的回复:

itemconfig可以改变的是该按钮作为canvas item的属性,有position, anchor, height, width, tags等等。

一个可能的办法是你自己保存一个该按钮的指针,就可以用config来改变它的属性。

Python code

canvas = Canvas(...)
button = Button(...)
canvas.create_wind……


方法也许可行,但是觉得不好,这样代码就增多了不少。。。

有没有更优雅一些的方法啊???

作者: XIVN1987   发布时间: 2011-11-10

引用 4 楼 xivn1987 的回复:
方法也许可行,但是觉得不好,这样代码就增多了不少。。。

有没有更优雅一些的方法啊??


先找到一个可行的办法,再来谈优雅。

作者: panghuhu250   发布时间: 2011-11-10