我已经通过http://www.python-course.eu/tkinter_message_widget.php学习Tkinter的
我不断收到一个错误,当我添加与呈现在网站上的选项锚选项。我被告知,NE并不存在,但NE被赋予在上面的链接锚选项:
NameError: name 'NE' is not defined
这里是我的代码。
import tkinter
root = tkinter.Tk()
message = ("Whatever you do will be insignificant,"
"but it is very important that you do it.\n"
"(Mahatma Gandhi)")
msg = tkinter.Message(root,text = message, anchor = NE, aspect = 1000,
foreground='red', background='yellow',
highlightcolor='green', highlightthickness=0,
borderwidth=500)
#msg.config(bg='lightgreen', font=('times', 24, 'italic'))
msg.pack()
tkinter.mainloop()
编辑:我也尝试过在单引号“NE”打字,也没有工作。
的值是字符串文字 “N”, “NE”, “E”, “本质上”, “S”, “SW”, “W”, “NW” 或 “中心”。案例是非常重要的。他们代表了指南针的方向(北,南,东,西)
在你的情况你使用包含这些值Tkinter的常量。因为你的方式导入Tkinter的,必须前缀这些常量与模块的名字。例如,tkinter.NE
。
我个人认为这是奇怪的使用设置“n”或“NE”恒定N
或NE
。恒定供应不超过,有时产生在箱子混乱如此其他目的。
指定窗口小部件(例如,文本或位图)的信息如何被显示在窗口小部件。必须是值N,NE,E,SE,S,SW,W,NW,或中心中的一个。例如,NW装置显示所述信息,使得其左上角是在窗口小部件的左上角。
我认为你需要用模块名来限定它。
msg = tkinter.Message(root,text = message, anchor = tkinter.NE, ...
你也可以使用一个字符串,但我不知道这是记录的行为。
msg = tkinter.Message(root,text = message, anchor = "ne", ...
只是澄清为什么代码工作进行了更改,在相关网站链接上的示例代码做。
阅读凯文和布莱恩·奥克利的回答后,我意识到,之所以有网站对NE和tkinter.NE它的工作,如果添加锚点选项示例代码,是他们进口的Tkinter模块的方式。
from Tkinter import * #Python 2
from tkinter import * #Python 3
我刚刚得知这一个星期前和马克罗迪在其响应这里('import module' or 'from module import'),鼓励使用import *
的,因为它是很难说什么模块的代码的来源。这是我的困惑。
如果其他人是否有与锚选项麻烦尽量把它放在包的功能:
msg.pack(anchor = 'w')
取而代之的内部消息或配置很奇怪没有为我工作:
msg.Message(anchor = 'w', ...)
msg.config(anchor = 'w', ...)