Python Tkinter小部件参数混乱

Python Tkinter小部件参数混乱,python,tkinter,Python,Tkinter,上面的脚本运行时没有任何异常错误,但如果我修改import style:import Tkinter as Tk,它会抱怨参数“LEFT,RIGHT,Y”,并且我必须将它们设置为字符串形式的小写字母,如下脚本所示,这是为什么 from Tkinter import * root = Tk() root.title("Whois Tool") text = Text() text1 = Text() text1.config(width=15, height=1) text1.pack()

上面的脚本运行时没有任何异常错误,但如果我修改import style:import Tkinter as Tk,它会抱怨参数“LEFT,RIGHT,Y”,并且我必须将它们设置为字符串形式的小写字母,如下脚本所示,这是为什么

from Tkinter import *

root = Tk()
root.title("Whois Tool")

text = Text()
text1 = Text()

text1.config(width=15, height=1)
text1.pack()

def button1():
    text.insert(INSERT, text1.get("1.0", END))

b = Button(root, text="Enter", width=10, height=2, command=button1)
b.pack()

scrollbar = Scrollbar(root)
scrollbar.pack(side=RIGHT, fill=Y)
text.config(width=60, height=15)
text.pack(side=LEFT, fill=Y)
scrollbar.config(command=text.yview)
text.config(yscrollcommand=scrollbar.set)

root.mainloop()

和其他一些是Tkinter定义的常量。这些常量的值是字符串
“left”
“right”
,等等

当您从Tkinter导入*执行
操作时,这些常量将与其他所有常量一起导入。当您将Tkinter作为tk导入时,它们不会像导入其他内容一样导入。在这种情况下,您可以通过使用模块名称完全限定它们来引用它们,例如:
tk.LEFT
tk.RIGHT
,等等

无论您如何导入它们,小写字符串始终有效。就个人而言,我认为常量没有任何用处,因为它们实际上没有提供任何好处。

当您使用“将Tkinter作为Tk导入”时,必须使用对象Tk调用Tkinter的所有方法和属性。所以你必须用Tk.left,Tk.right来代替“left”,“right”

在您的第一个示例中,您使用了 “滚动条=滚动条(根)” 但是在你写的第二封信里 “scrollbar=tk.scrollbar(根)”

在第二个示例中,您已经使用对象Tk调用了Tkinter内部的所有内容。
有关Python模块的更多信息,请访问此处:

代码适用于我的Python 2.7.8。。。您使用什么Python版本?您能提供Python回溯或错误消息吗?谢谢,因为你们两位都为我的问题提供了很好的答案,我将选择新手的作为最佳答案。
import Tkinter as tk

root = tk.Tk()
root.title("Whois Tool")

text = tk.Text()
text1 = tk.Text()

text1.config(width=15, height=1)
text1.pack()

def button1():
    text.insert('insert', text1.get("1.0", 'end'))
#     text.insert(END, text1)

b = tk.Button(root, text="Enter", width=10, height=2, command=button1)
b.pack()

scrollbar = tk.Scrollbar(root)
scrollbar.pack(side='right', fill='y')
text.config(width=60, height=15)
text.pack(side='left', fill='y')
scrollbar.config(command=text.yview)
text.config(yscrollcommand=scrollbar.set)

root.mainloop()