导入 tkinter,因为 tk 不适用于文本小部件

Import tkinter as tk does not work with text widget

我尝试使用 import tkinter as tk 选项创建一个文本小部件,但我不知道为什么文本方法不适用于我的对象。 如果我使用 from tkinter import * 那么一切都很好,但正如我所读,这不是推荐的导入方法。 那么,您能否告知为什么第一个代码有效而第二个代码无效?我错过了什么?

这个有效:

from tkinter import *

root = Tk()
text = Text(root)
text.insert(INSERT, "Hello.....")
text.insert(END, "Bye Bye.....")
text.pack()

root.mainloop()

这不是:

import tkinter as tk

root = tk.Tk()
text = tk.Text(root)
text.insert(INSERT, "Hello.....")
text.insert(END, "Bye Bye.....")
text.pack()

root.mainloop()

谢谢

如果您正在使用:

import Tkinter as tk

INSERT is a constant defined in Tkinter, so you also need to precede it with Tkinter.

您需要像这样使用 INSERT:

tk.INSERT

您的代码:

import tkinter as tk

root = tk.Tk()
text = tk.Text(root)
text.insert(tk.INSERT, "Hello.....")
text.insert(tk.END, "Bye Bye.....")
text.pack()

root.mainloop()

在这种情况下,如果您使用的是:

text.insert(INSERT, "Hello.....")

你会得到一个错误:

NameError: name 'INSERT' is not defined