tkinter 粘性格式之间有什么区别
what is the difference between tkinter sticky formats
我正在尝试学习 tkinter,但我一直无法找到解释为什么我看到 'sticky' 选项示例以不同格式编写的答案,例如:
enter sticky = N+E+S+W
sticky=NW
sticky="ew"
sticky=tk.W+tk.N
大写(我认为通常表示常量)、+ 符号(字符串连接)和 tk 有什么意义吗? (一个方法)。是个人喜好,它们做不同的事情,还是取决于它们的使用环境?
N
、S
、E
和 W
是由 tkinter 模块定义的常量。它们每个都包含一个字符串,其中包含与名称匹配的单个字符(例如:N = "n"
)。因为它们是全局常量,所以它们是大写的以符合 PEP8.
您有时会看到以 tk.
或 tkinter
为前缀的常量的原因与常量的导入方式有关。如果你这样做 from tkinter import *
你不使用前缀。如果您使用 import tkinter
,则使用 tkinter.
前缀。如果你使用 import tkinter as tk
你使用 tk.
前缀。这不是 tkinter 独有的,它是导入在所有 python.
中的工作方式
sticky
属性需要一个字符串。这是它唯一接受的东西。该字符串可以包含任何字符“n”、“s”、“e”、“w”。 Tkinter 不关心你如何创建字符串。您可以传递 "nsew"
、"news"
、N + "e" + "s" + W
或任何其他技术。
就我个人而言,我发现常量毫无用处。只使用文字字符串要容易得多。
我正在尝试学习 tkinter,但我一直无法找到解释为什么我看到 'sticky' 选项示例以不同格式编写的答案,例如:
enter sticky = N+E+S+W
sticky=NW
sticky="ew"
sticky=tk.W+tk.N
大写(我认为通常表示常量)、+ 符号(字符串连接)和 tk 有什么意义吗? (一个方法)。是个人喜好,它们做不同的事情,还是取决于它们的使用环境?
N
、S
、E
和 W
是由 tkinter 模块定义的常量。它们每个都包含一个字符串,其中包含与名称匹配的单个字符(例如:N = "n"
)。因为它们是全局常量,所以它们是大写的以符合 PEP8.
您有时会看到以 tk.
或 tkinter
为前缀的常量的原因与常量的导入方式有关。如果你这样做 from tkinter import *
你不使用前缀。如果您使用 import tkinter
,则使用 tkinter.
前缀。如果你使用 import tkinter as tk
你使用 tk.
前缀。这不是 tkinter 独有的,它是导入在所有 python.
sticky
属性需要一个字符串。这是它唯一接受的东西。该字符串可以包含任何字符“n”、“s”、“e”、“w”。 Tkinter 不关心你如何创建字符串。您可以传递 "nsew"
、"news"
、N + "e" + "s" + W
或任何其他技术。
就我个人而言,我发现常量毫无用处。只使用文字字符串要容易得多。