Python导入/来自问题

时间:2015-07-17 17:56:58

标签: python-3.x import tkinter

我正在编写一个python GUI脚本,我有一个导入/来自的问题。

我发现我无法删除上面的一行,因为脚本无效。因此,为什么并且有没有办法缩短它?

脚本:

import tkinter
import tkinter.messagebox
from tkinter import *
from tkinter.filedialog import  asksaveasfilename, askdirectory
from tkinter import ttk
...

1 个答案:

答案 0 :(得分:1)

执行import tkinter时,必须在所有tkinter命令和常量前加tkinter.(例如:buttontkinter.Button(...)root=tkinter.Tk()等。)

执行from tkinter import *时,它会导入tkinter标记为可导出的所有内容,而 前缀为tkinter.的内容(例如:button=Button(...)root=Tk()等)

你应该做其中一个,而不是两个。最好做前者。为了减少输入,您可以使用别名导入,例如:

import tkinter as tk
...
root = tk.Tk()
button = tk.Button(root, ...)

请注意,这不是特定于tkinter的问题。这基本上是如何在python中导入所有模块的。

另请注意,虽然ttk位于tkinter,但在执行from tkinter import *时却无法导入。此外,ttk将导出与tkinter同名的类(例如:它们都定义Button

有关更多信息,请阅读python文档中的the documentation on modules。您可能还想阅读ImportError when importing Tkinter in Python

的答案