このサイトの記事内では「アフィリエイト広告」などの広告を掲載している場合があります。
消費者庁が問題としている「誇大な宣伝や表現」とならないよう配慮しコンテンツを制作しておりますのでご安心ください。
問題のある表現が見つかりましたらお問い合わせよりご一報いただけますと幸いです。

AttributeError: module ‘tkinter’ has no attribute ‘messagebox’の原因

AttributeError: module 'tkinter’ has no attribute 'messagebox’の原因

tkinterでmessageboxを使おうとしたときに、タイトルのエラーが発生することがあります。

私自身もこのエラーに出くわして、なぜ起こるのかしばらく調べました。

今回はこのエラーが起こる原因と解消方法を紹介します。

AttributeError: module 'tkinter’ has no attribute 'messagebox’の原因

# NG 
import tkinter 
 
 
tkinter.messagebox.showinfo("タイトル", "メッセージ") 

エラーが発生するのはこのようなコードを書いたときです。

「AttributeError: module 'tkinter’ has no attribute 'messagebox’」

このエラーは、tkinterの中にmessageboxという属性(メソッド、プロパティ)が無いということを教えてくれています。

このtkinterなのですが、tkinterをimportしてもmessageboxメソッドはimportされない仕様となっています。

そのため、messageboxメソッドを単独でimportする必要があります。

エラーの解消方法

# OK 
from tkinter import messagebox 
 
 
messagebox.showinfo("タイトル", "メッセージ") 

エラーの解消方法ですが、このようにmessageboxを個別にimportすればエラーを解消することができます。

《VBAからPythonを考えている人へ》
 ※kindle unlimitedなら無料

Python

Posted by やろまい