Добрый день,
Я пытался реализовать скрипт на этой странице: Tkinter: перетаскивание мышью окна без границ, например. overridedirect (1)
Для работы с моим окном верхнего уровня tkinter. Вот как инициализируется мое окно tkinter:
def __init__(self, master=None):
tkinter.Tk.__init__(self, master)
Затем я скрываю окно root и запускаю окно верхнего уровня. Что я делаю так, что в настоящее время я могу свернуть и снова открыть окно верхнего уровня.
#Hide Root
self.attributes("-alpha",0.0)
self.attributes("-topmost", True)
#Top Level Window
top_level = tkinter.Toplevel(self)
top_level.geometry("600x300")
top_level.overrideredirect(True)
top_level.config(bg="#1e1e1e")
Теперь я пытаюсь заставить окно двигаться, используя этот кусок кода здесь со страницы, указанной выше. (Я изменил некоторые переменные, чтобы они соответствовали моему окну)
top_level.bind("<ButtonPress-1>", top_level.StartMove)
top_level.bind("<ButtonRelease-1>", top_level.StopMove)
top_level.bind("<B1-Motion>", top_level.OnMotion)
def StartMove(top_level, event):
top_level.x = event.x
top_level.y = event.y
def StopMove(top_level, event):
top_level.x = None
top_level.y = None
def OnMotion(top_level, event):
deltax = event.x - top_level.x
deltay = event.y - top_level.y
x = top_level.winfo_x() + deltax
y = top_level.winfo_y() + deltay
top_level.geometry("+%s+%s" % (x, y))
Это ошибка, которую я получаю:
Traceback (most recent call last):
File "E:/Programs/TestGUI/script_gui.py", line 2, in <module>
import authenticator
File "E:\Programs\TestGUI\authenticator.py", line 148, in <module>
root = Win()
File "E:\Programs\TestGUI\authenticator.py", line 127, in __init__
top_level.bind("<ButtonPress-1>", top_level.StartMove)
AttributeError: 'Toplevel' object has no attribute 'StartMove'
Любая помощь будет принята с благодарностью, так как это одна из последних вещей, которые мне нужно сделать, чтобы завершить sh этот проект.
Спасибо