Tkinter:如果我将帧添加到PanedWindow,PanedWindow sash会导致撕裂

时间:2014-07-06 22:30:56

标签: python macos tkinter

当我的腰带向左移动时,PanedWindow出现问题。当我向右移动时它很好。但是,当我向左移动时,最右边的Frame小部件会在更新和捕捉到位之前撕裂半秒钟。如果我将窗扇拖得太快,那么撕裂会变得更糟。

我目前正在使用Python3以及Tkinter版本8.6。

这是一个示例代码。你必须扩大窗口大小才能清楚地看到它:

from tkinter import *
root = Tk()
m = PanedWindow(root, orient=HORIZONTAL, sashwidth=10)
rightF =  Frame(m)
leftF = Frame(m)
top = Label(leftF, text="lefgt pane", bg='blue')
bottom = Label(rightF, text="right pane", bg='red')
top.pack(fill=BOTH, expand=1)
bottom.pack(fill=BOTH, expand=1)
m.add(leftF)
m.add(rightF)

m.pack(fill=BOTH, expand=1)
mainloop()

这似乎只有在我将帧添加到PanedWindow时才会发生。有人以某种方式解决了这个问题吗?有人看到了吗?如果有帮助,我正在使用Mac OSX Mavericks。

1 个答案:

答案 0 :(得分:0)

我从没想过Tkinter的速度。

当你添加Frame而不是重绘Frame之前它重绘Label但是Frame有不同的背景颜色然后标签 - 你看到它。为右框设置红色背景,你不应该看到问题。