Python 特金特画布问题
我正在尝试更改Tkinter画布小部件的分层。对于大多数小部件,您可以通过使用lift方法将小部件强制置于其他小部件之上。但是,如果我在画布小部件上尝试相同的操作,我会得到一个错误 错误:Python 特金特画布问题,python,canvas,tkinter,Python,Canvas,Tkinter,我正在尝试更改Tkinter画布小部件的分层。对于大多数小部件,您可以通过使用lift方法将小部件强制置于其他小部件之上。但是,如果我在画布小部件上尝试相同的操作,我会得到一个错误 错误: TypeError: tag_raise() got an unexpected keyword argument 'aboveThis' 我的问题的一个例子: import Tkinter as Tk root = Tk.Tk() w, h = 200, 200 a = Tk.Canvas(roo
TypeError: tag_raise() got an unexpected keyword argument 'aboveThis'
我的问题的一个例子:
import Tkinter as Tk
root = Tk.Tk()
w, h = 200, 200
a = Tk.Canvas(root, bg='red', width=w, height=h)
a.grid(column=0, row=0)
b = Tk.Canvas(root, bg='blue', width=w, height=h)
b.grid(column=0, row=0)
a.lift(aboveThis=None)
root.mainloop()
如果我对框架小部件做同样的事情,它就会工作
例如:
import Tkinter as Tk
root = Tk.Tk()
w, h = 200, 200
a = Tk.Frame(root, bg='red', width=w, height=h)
a.grid(column=0, row=0)
b = Tk.Frame(root, bg='blue', width=w, height=h)
b.grid(column=0, row=0)
a.lift(aboveThis=None)
root.mainloop()
canvaslift()
方法是tag\u raise()
的别名,用于提升的不是画布本身,而是画布中的实体
我在Tkinter.py
源代码中找到了这条评论:
# lower, tkraise/lift hide Misc.lower, Misc.tkraise/lift,
# so the preferred name for them is tag_lower, tag_raise
# (similar to tag_bind, and similar to the Text widget);
# unfortunately can't delete the old ones yet (maybe in 1.6)
如果将a.lift(高于this=None)
替换为Tk.Misc.lift(a,高于this=None)
,则画布小部件将正确升起。画布lift()
方法是标记提升()
的别名,用于升起的不是画布本身,而是画布中的实体
我在Tkinter.py
源代码中找到了这条评论:
# lower, tkraise/lift hide Misc.lower, Misc.tkraise/lift,
# so the preferred name for them is tag_lower, tag_raise
# (similar to tag_bind, and similar to the Text widget);
# unfortunately can't delete the old ones yet (maybe in 1.6)
如果将
a.lift(overthis=None)
替换为Tk.Misc.lift(a,overthis=None)
,则画布小部件将正确启动。我提出这个问题是因为我实际上想要实现类似于
canvas-pathName raise tagOrId ?aboveThis?
以将各个画布项目提升到特定的z位置。对于那些对同样的事情感兴趣的人,我将发布我的认识(经过一点思考之后),这可以在Python中非常容易地完成:
canvasObject.tag_raise(tagOrId, tagOrId2)
这里的第二个参数被合并到tk命令行中,然后被解释为“overthis”值。我之所以提出这个问题,是因为我实际上想要实现类似tk语句的等价物
canvas-pathName raise tagOrId ?aboveThis?
以将各个画布项目提升到特定的z位置。对于那些对同样的事情感兴趣的人,我将发布我的认识(经过一点思考之后),这可以在Python中非常容易地完成:
canvasObject.tag_raise(tagOrId, tagOrId2)
这里的第二个参数只是合并到tk命令行中,然后被解释为“高于此”值