[ホーム] - [よく見るエラーメッセージ一覧] - [NameError: name 'messagebox' is not defined の原因と対処]

【Python】NameError: name 'messagebox' is not defined の原因と対処 | メッセージボックス作成のサンプル





作成日:2022/02/21


Python 環境においてメッセージボックスのダイアログを表示するために messagebox を使用しようとしたところ、次のエラーが発生しました。


NameError: name 'messagebox' is not defined



messagebox を使用するためには tkinter モジュールが必要です。

例えば Python 3.6 では tkinter.messagebox が必要です。
tkinterとはPython に標準で添付している GUI ライブラリです。

よって例えばコードの先頭で"from tkinter import messagebox"を付けることにより解決すると思われます。


【間違い】


#「はい」「いいえ」を選択するダイアログ
ret = messagebox.askyesno("サンプルダイアログ", "「はい」「いいえ」を選択するサンプル")

if ret == True:
messagebox.showinfo("ret value", "「はい」を選択しましたね" )
else:
messagebox.showinfo("ret value", "「いいえ」を選択しましたね" )

Traceback (most recent call last):
File "c:\temp\test.py", line 4, in ret = messagebox.askyesno("サンプルダイアログ", "「はい」「いいえ」を選択するサンプル")
NameError: name 'messagebox' is not defined

【正しい】

from tkinter import messagebox

#「はい」「いいえ」を選択するダイアログ
ret = messagebox.askyesno("サンプルダイアログ", "「はい」「いいえ」を選択するサンプル")

if ret == True:
messagebox.showinfo("ret value", "「はい」を選択しましたね" )
else:
messagebox.showinfo("ret value", "「いいえ」を選択しましたね" )


サンプルコード

以下は Windows 10 環境における正常実行可能なサンプルコードです。


Python にてダイアログを表示するサンプルです。
単純に「情報」「警告」「エラー」を表示するダイアログボックスや「はい」「いいえ」や「再試行」「キャンセル」を選択するダイアログをサンプルとして紹介します。
サンプルコード:


#メッセージボックスのサンプル
from tkinter import messagebox

title ="タイトル"

message = "メッセージです"

#情報を表示するダイアログ
messagebox.showinfo(title, message)

#警告を表示するダイアログ
messagebox.showwarning(title, message)

#エラーを表示するダイアログ
messagebox.showerror(title, message)

#「はい」「いいえ」を選択するダイアログ
ret = messagebox.askyesno(title, message)

if ret == True:
messagebox.showinfo("ret value", "「はい」を選択しましたね" )
else:
messagebox.showinfo("ret value", "「いいえ」を選択しましたね" )

#「再試行」「キャンセル」を選択するダイアログ
ret = messagebox.askretrycancel(title, message)

if ret == True:
messagebox.showinfo("ret value", "「再試行」を選択しましたね" )
else:
messagebox.showinfo("ret value", "「キャンセル」を選択しましたね" )








本サイト内掲載されている情報は、著作権法により保護されています。いかなる場合でも権利者の許可なくコピー、配布することはできません。 このページはリンクフリーです。(このページへの直接リンクも可能です。)

[ホーム] - [よく見るエラーメッセージ一覧]