1

Python 3.3.2でこれを呼び出すことができないモジュールオブジェクトを取得する

from tkinter import *
import tkinter as tk

root = tk()
root.geometry('400x400')
4

2 に答える 2

4

を行う場合import Tkinter as tktkはモジュールを指します。import Tkinterこれは、Tkinterモジュールを参照する場合と同じです。の以前の定義tkは失われます。

後で を実行root = tk()すると、 という名前のモジュールを呼び出そうとしていますtk。これがエラーが発生する理由ですTypeError: 'module' object is not callable-tkinterモジュールを呼び出しています( のため())、これはできません。

あなたが犯している間違いは、 tkinter モジュールが という名前のクラスを定義してTkいることです。呼び出し/インスタンス化するのはこのクラスです。これを行うには、コードを変更します。

import tkinter as tk
root = tk.Tk()

また、同じライブラリの 2 つのインポートを混在させるべきではありません。混在させるimport tkinter as tk(推奨) かfrom tkinter import *、両方を行わないでください。

于 2013-11-09T20:17:37.163 に答える
0

すべてを小文字にするのではなく、Tk(または)を呼び出したいと確信しています。1 つ目は、行でインポートした名前です。後者は、2 番目の import ステートメントでモジュールをインポートした名前です。tk.Tktkfrom tkinter import *

于 2013-11-09T17:52:01.380 に答える