わからないこと
tkinterを使用し、サブウインドウを生成し、メッセージボックスのようなメインウインドウをクリックすると、警告音がなり、メインウインドウを動かせなくしたいと思っています。
簡単にではありますが、下記にコードを載せました。
メインウインドウにある設定ボタンを押すと、setting関数へ飛び、sub_winを生成する。といった具合に動いています。
サブウインドウもメインウインドウもクリックすれば画面にアクセスできる状況です。
試したこと
messageboxの挙動をさせれば良いと考えたので、他ライブラリのpyautoguiを使用しメッセージボックスを表示させれば良いと考え試しました。
しかし、tkinterとの依存関係が無いためか、やはりメインウインドウにはアクセスできてしまう状況でした。
おねがい
メインウインドウからサブウインドウを生成し、サブウインドウが閉じられるまではメインウインドウにアクセスできなくなる。
といった具合の実装方法がわかる方は教えていただけると助かります。
実行環境
windows10
python3.8
tkinter 8.6
python
1import tkinter as tk 2 3 4main_root = tk.Tk( ) 5main_root.title("自動予約システム") 6main_root.geometry("700x500") 7main_root.resizable(width=False, height=False) 8main_root.config(bg="#d1d1d1") 9 10 11#設定用ウインドウを開く 12def setting(): 13 sub_win = tk.Toplevel() 14 15 16def top(): 17 #ButtonFrame 18 global reservation_button_frame 19 reservation_button_frame = tk.Frame(main_root, relief="ridge", borderwidth=3) 20 reservation_button_frame.pack() 21 #Button 22 reservation_button = tk.Button(reservation_button_frame, width=10, text="設定", command=setting) 23 reservation_button.pack() 24 25 26def main(): 27 top() 28 main_root.mainloop() 29 30 31if __name__ == "__main__": 32 main()
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/03/05 07:00