実現したいこと
Tkinterのサブウィンドウが立ち上がっている間に
メインウインドウを入力不可状態にしたい。
この例では、メインウインドウ(root_a)のbtnを押すと、サブウインドウ(root_b)が立ち上がり
メインウインドウのEntry(txt)の入力やボタン(btn)が押せないようにしたいのですが、方法はあるでしょうか?
txt.state="disable"など個別の方法では実現しますが、ウィジェットが沢山あると都度書くのが大変なため、
できれば、一括でメインウインドウ内の全てのウィジェットをロックして使用できない様にしたいです。
発生している問題・エラーメッセージ
エラーはありませんが、サブウインドウが立ち上がっている状態でも、メインウインドウの Entryは書き込めてしまいます。
該当のソースコード
Python
1def func_a(): 2 root_a.state = "disable" 3 root_b = tk.Toplevel() 4 txt = tk.Entry(root_b) 5 txt.pack() 6 root_b.mainloop() 7 8root_a = tk.Tk() 9 10lbl = tk.Label(root_a,text="test") 11lbl.pack() 12txt = tk.Entry(root_a) 13txt.pack() 14 15btn = tk.Button(root_a,text="無効",command=func_a) 16btn.pack() 17 18root_a.mainloop() 19 20### 試したこと 21root_a["state"] = "disable"ではエラーになります 22 23 24 25

回答2件
あなたの回答
tips
プレビュー
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。
また依頼した内容が修正された場合は、修正依頼を取り消すようにしましょう。