Python import/from 问题

Python import/from issue

我正在编写一个 python GUI 脚本,我遇到了 import/from 的问题。

我发现我无法删除上面的其中一行,因为脚本不起作用。因此,为什么以及有没有办法让它更短?

脚本:

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

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

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

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

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

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

另请注意,虽然 ttktkinter 中,但当您执行 from tkinter import * 时它不会被导入。此外,ttk 将以与 tkinter 相同的名称导出 类(例如:它们都定义 Button

有关详细信息,请阅读 the documentation on modules in the python documentation. You might also want to read the answers to ImportError when importing Tkinter in Python