pythonでデスクトップアプリを作っています。
ボタンを押してその状態から離すとサブウィンドウを起動させるサンプルアプリを作りました。
このときメインウィンドウのボタンを押してそのまま長押しの状態からマウスポインタをボタンからはずすと(Leave)、サブウィンドウを起動させないようにしたいです。バインドの解除とでもいうのでしょうか。
調べたところによると unbind などあるようですがどうもうまく動きません。バインド以外の方法でやったほうがいいのか、どなたかご教授いただけると幸いです。以下、サンプルコードです。
import tkinter as tk root = tk.Tk() def sub_window(event): sub_window = tk.Toplevel() # ウインドウサイズの固定 sub_window.resizable(width = False, height = False) # タイトル sub_window.title("SUB-WINDOW") # ボタン btn = tk.Button(sub_window, width=30, height=3,text="CLOSE") btn.pack(padx=50, pady=50) btn.bind("<ButtonRelease>", lambda event: sub_window.destroy()) # ウインドウサイズの固定 root.resizable(width = False, height = False) # タイトル root.title("MAIN-WINDOW") # ボタン main_btn = tk.Button(root, width=30, height=3,text="SUB-WINDOW") main_btn.pack(padx=50, pady=50) main_btn.bind("<ButtonRelease>", lambda event: sub_window(event)) root.mainloop()
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/06/10 04:18