Q&A
前提
ボタンを押すと新しいウィンドウが表示され処理を実行し、その処理が終わったら追加されたウィンドウを消するプログラムを作りたいです。
実現したいこと
該当のPythonファイルを開くとメインのウィンドウ(root)が表示される。
root上にあるボタンを押すと
新しいウィンドウの表示
↓
PyAutoGUIによる自動操作
↓(操作終了)
追加したウィンドウの削除
の流れを実現したい。
発生している問題
root上にあるボタンを押すと
PyAutoGUIによる自動操作
↓(操作終了)
新しいウィンドウの表示
↓
追加したウィンドウの削除
と順番がおかしいです。
該当のソースコード
python3.10.1
1 2import tkinter 3import pyautogui 4 5root = tkinter.Tk() 6root.title("タイトル1") 7root.geometry("250x270") 8root.attributes("-topmost", True) 9root.resizable(0,0) 10 11txtbox = tkinter.Text(root, font=("", 16)) 12 13(省略) 14 15def Syori() : 16 if not txtbox.get("1.0", "end-1c") == "" : 17 18 subWindow = tkinter.Toplevel() 19 subWindow.title("タイトル2") 20 subWindow.geometry("250x270") 21 subWindow.attributes("-topmost", True) 22 subWindow.resizable(0,0) 23 24 (PyAutoGUIによる自動操作) 25 26 subWindow.destroy() 27 28 else: 29 (省略) 30 31Syori_button = tkinter.Button(text="実行",command=Syori,width=16,height=3) 32Syori_button.place(x=70,y=140)
ウィジェットの設置といった関係ない部分は省略しました。
補足情報
- Windows10
- python 3.10.1 64bit
- tkinter 8.6.12
- VScodeにて編集
- 自動操作は理想通りの動きで問題ないです
問題の新しいウィンドウは添えるだけで特に意味は無いのですがモヤモヤします。
どの部分が問題なのか検討もつかないです。
よろしくお願いします。
回答2件
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。
2022/11/09 00:15