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 中导入所有模块的基本方式。
另请注意,虽然 ttk
在 tkinter
中,但当您执行 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
我正在编写一个 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 中导入所有模块的基本方式。
另请注意,虽然 ttk
在 tkinter
中,但当您执行 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