【问题标题】:Using Tkinter in Python Label does not recognize anchor=CENTER在 Python Label 中使用 Tkinter 无法识别 anchor=CENTER
【发布时间】:2018-08-08 23:23:57
【问题描述】:

我是 tkinter 的新手并且一直在使用:

from tkinter import * 

但读过这是不好的做法。 我重写了一小段代码,开始使用以下代码:

import tkinter as tk

但是,当我运行其余代码时。我得到错误: label.place(relx=0.4, rely=0.35, anchor=CENTER) NameError: name 'CENTER' is not defined

root = tk.Tk()
label = tk.Label(root, text="I am a label widget")
label.place(relx=0.4, rely=0.35, anchor=CENTER)    
button = tk.Button(root, text="I am a button")
label.pack()
button.pack()
root.mainloop()

这是命名空间问题吗?我该如何解决这个问题?

【问题讨论】:

  • 与您添加tk. 的其他地方一样,您需要tk.CENTER
  • 太棒了,非常感谢您的快速回复。这解决了这个问题。我应该认为不仅仅是函数/类等需要扩展。

标签: python tkinter label justify


【解决方案1】:

* 获取所有子包。使用import tkinter as tk 只是将包的名称从 tkinter 更改为 tk。

你还没有告诉你的脚本 CENTER 是 tkinter 的一部分。 (当您使用 * 时,您会自动执行此操作)但现在您必须明确告诉 CENTER 是 tkinter 的一部分:

tk.CENTER

【讨论】:

    【解决方案2】:

    CENTER 模块的一个变量(实际上它们通常称为常量),等于'center'。所以只需将这一行替换为:

    label.place(..., anchor='center')
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-04
      • 2021-10-18
      • 2014-12-30
      • 2013-09-22
      相关资源
      最近更新 更多