마우스가 창 위에있을 때 단추를 표시하는 데 문제가 있습니다. 창문 위로 가면 버튼이 나타납니다. 그러나 내가 버튼을 지나칠 때, 그것은 다시 숨 깁니다. 그러나, 간단한 프로그램으로 문제를 재현하려고하면 잘 작동하지만 ... 짧은 버전에서는 버그가 있습니다.마우스가 창 위에있을 때 Tkinter에 단추 표시
import Tkinter as TK
root = TK.Tk()
root.geometry("400x300")
root.overrideredirect(True)
button = TK.Button(root, text = "HI", command = lambda: root.destroy())
def Show(event):
button.place(x = 0, y = 0, width = 60, height = 30)
def Hide(event):
button.place_forget()
root.bind("<Enter>", Show)
root.bind("<Leave>", Hide)
root.mainloop()
이 짧은 버전이 작동합니다. 그러나 당신이 버튼을 넘어 서서 멀리 떨어지면 숨 깁니다. 당신은 여전히 루트 창 위에 있습니다. 거기에 마우스를 통해 모든 시간을 볼 수있는 버튼을 강제로 쉬운 방법이 있나요? 감사합니다
는
는'event.x'와'event.'y 창 자체 ...에 그래서 나는 경우 X> root.winfo_width() 또는 X < 0 or y > root.winfo_height'로 변경했다() 또는 y <0 :' – user3018591
x_r과 y_r은 root.overrideredirect (True) 일 때 0이어야합니다. 그래서 당신의 요점을 이해하지 못합니다. 제가 게시 한 것처럼 작동하지 않았습니까? 파이썬 3.6을 사용했기 때문에 여기에 차이점이있을 수 있습니다. – Jannick
예, 죄송합니다. 원래 프로그램에서 창을 옮기는 몇 가지 기능을 만들었다는 것을 잊어 버렸습니다. 그리고 그것을 원래 위치에서 옮긴 후에 숨기기 기능은 더 이상 작동하지 않았습니다. 나는 파이썬 2.7을 사용한다. – user3018591