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

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





作成日:2022/02/21


Python 環境においてダイアログボックスを表示する messagebox で次のエラーが発生する場合があります。


NameError: name 'true' is not defined



原因は単純です。Python ではブール値の真を使用する場合は True を使用します。(全部小文字の true ではありません。)


【間違い】

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 7, in if ret == true:
NameError: name 'true' 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", "「キャンセル」を選択しましたね" )








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

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