pythonでTkinterを使用し、メッセージボックスを使おうと思ったが、
謎ウインドウが出てきて処理が止まってしまう。
![](https://www17.a8.net/0.gif?a8mat=3BO80F+3VWVXU+50+4SOS0H)
↓のやつですね
![](https://kakashi-blog.com/wp-content/uploads/2020/10/image.png)
調べてみると、「ルートウィンドウが無いと勝手に生成されてしまうらしい。」
という風に書いてあったので、らしいらしいである。
import tkinter as tk
from tkinter import messagebox
messagebox.showinfo('NEXT', 'つぎへ')
print('OK')
↑のプログラムを動かしても「OK」までたどりつかない
メッセージボックスのボタンを押しても先に進まない。
謎ウィンドウが出ても処理が止まらなきゃいいんだけど。
対処方法が書いてあったので試してみた。
import tkinter as tk
from tkinter import messagebox
root = tk.Tk()
root.withdraw()
messagebox.showinfo('NEXT', 'つぎへ')
print('OK')
どうやらこれで、前もってルートウィンドウを作っておいて、
非表示にしてしまおうって作戦らしい。
調べた限りでは、みんなこれでうまくいっているみたい。
でもこれだと、そもそもメッセージボックスすらも
表示されなくなってしまうんだよね。
なんで?環境がわるい?
root.withdraw()←の処理がうまくいかないみたい
じゃあ消しちまおう。
import tkinter as tk
from tkinter import messagebox
root = tk.Tk()
messagebox.showinfo('NEXT', 'つぎへ')
root.destroy()
print('OK')
root.destroy()でルートを破壊
非表示やめて破壊します。
これでうまく動作できるようになったけど、
なんかダサいね。
何かいい方法あれば教えてください。
お願いします。
![](https://www18.a8.net/0.gif?a8mat=3B4ZDW+9B72CY+CO4+69WPT)