【发布时间】:2020-04-14 10:13:54
【问题描述】:
我有两种类型的窗口:主窗口和子窗口。当我移动主窗口时,所有子窗口也必须移动。 所以我试着写一个方法,但我是 Tkinter 的新手,所以有点难。 Tkinter 不是已经提供了一种方法吗? 发生了两个错误:
第 21 行,在 move_me 中,如果 second_window != None: NameError: name 'second_window' 未定义
wm_geometry() 接受 1 到 2 个位置参数,但给出了 3 个
''' import tkinter as tk 从 tkinter 导入 * 从 tkinter 导入 Tk 从 functools 导入部分 从 tkinter 导入文件对话框 将 tkinter 导入为 tk
root=Tk()
def second_window_X():
global second_window
second_window=Tk()
label=Label(second_window, text='window')
label.pack()
button=Button(root, text='second window', command=second_window_X)
button.pack()
def move_me(event):
if second_window != None:
x = root.winfo_x()
y = root.winfo_y()
second_window.geometry(x,y)
root.bind("<Configure>", move_me)
root.mainloop()````
有没有人可以给我一个例子,如何将两个窗口链接在一起并让它们同时移动?谁能给我解释一下,为什么即使我声明它是全局的,我也不知道 second_window?
已经非常感谢你了
对不起所有的进口
【问题讨论】:
-
首次调用
move_me时,尚未创建second_window。而second_window.geometry(x, y)应该是second_window.geometry('+%s+%s' % (x, y))。 -
你不应该有两个 Tk 实例。如果你想要第二个窗口,它应该使用 Toplevel。
标签: python windows tkinter binding move