Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使tkinter标签具有相等的尺寸?_Python_Tkinter - Fatal编程技术网

Python 如何使tkinter标签具有相等的尺寸?

Python 如何使tkinter标签具有相等的尺寸?,python,tkinter,Python,Tkinter,标签目前是并排的,这是我想要的。但是,每个标签的宽度不同。有没有办法使每个标签具有相同的宽度 还有没有一种方法可以使标签具有相同的测量值,同时填充到250 这是我目前的代码: from tkinter import * root = Tk() root.geometry("250x50") w = Label(root, text="Label UNO", bg="red", fg="white") w.pack(side=LEFT) w = Label(root, text="Label2"

标签目前是并排的,这是我想要的。但是,每个标签的宽度不同。有没有办法使每个标签具有相同的宽度

还有没有一种方法可以使标签具有相同的测量值,同时填充到250

这是我目前的代码:

from tkinter import *

root = Tk()
root.geometry("250x50")
w = Label(root, text="Label UNO", bg="red", fg="white")
w.pack(side=LEFT)
w = Label(root, text="Label2", bg="green", fg="black")
w.pack(side=LEFT)
w = Label(root, text="Label DREI", bg="blue", fg="white")
w.pack(side=LEFT)

root.mainloop()

您应该尝试检查包装上的tkinter:

检查这是否是您正在寻找的:

root = Tk()
root.geometry("250x50")
w = Label(root, text="Label UNO", bg="red", fg="white")
w.pack(side=LEFT, fill=BOTH, expand=True)
w = Label(root, text="Label2", bg="green", fg="black")
w.pack(side=LEFT, fill=BOTH, expand=True)
w = Label(root, text="Label DREI", bg="blue", fg="white")
w.pack(side=LEFT, fill=BOTH, expand=True)
root.mainloop()
Fill参数基本上填充父容器

展开参数将用于添加剩余空间


另外,请务必查看tkinter weight,这是一个示例。

您可以使用关键字参数
宽度
,以及
高度
tk.标签

import tkinter as tk

if __name__ == '__main__':

    root = tk.Tk()
    root.geometry("250x50")

    label_frame = tk.Frame(root)

    w = tk.Label(label_frame, text="Label UNO", bg="red", fg="white", width=8, height=2)
    w.pack(side=tk.LEFT)
    w = tk.Label(label_frame, text="Label2", bg="green", fg="black", width=8, height=2)
    w.pack(side=tk.LEFT)
    w = tk.Label(label_frame, text="Label DREI", bg="blue", fg="white", width=8, height=2)
    w.pack(side=tk.LEFT)

    label_frame.pack(expand=True)

    root.mainloop()

笔记:
  • tkinter作为tk导入
    ,以保持命名空间整洁

  • tk.label
    包含在
    tk.Frame
    中,因此一旦构建了它, 你不必担心它,直到你把相框装进盒子里 GUI

  • 标签打开时,宽度和高度的单位为“文本单位” 包含文本


要使标签宽度相同,只需将
宽度
选项添加到
标签

import tkinter as tk

if __name__ == '__main__':

    root = tk.Tk()
    root.geometry("250x50")

    label_frame = tk.Frame(root)

    w = tk.Label(label_frame, text="Label UNO", bg="red", fg="white", width=8, height=2)
    w.pack(side=tk.LEFT)
    w = tk.Label(label_frame, text="Label2", bg="green", fg="black", width=8, height=2)
    w.pack(side=tk.LEFT)
    w = tk.Label(label_frame, text="Label DREI", bg="blue", fg="white", width=8, height=2)
    w.pack(side=tk.LEFT)

    label_frame.pack(expand=True)

    root.mainloop()
e、 g.
width=10
这将指定字符宽度中的空间大小

如果要对多表标签应用相同的宽度,请将宽度值存储在变量中,例如
label\u w=10

因此,您的代码可能如下所示:

from tkinter import *

root = Tk()
root.geometry("250x50")
label_w = 10
w = Label(root, text="Label UNO", bg="red", fg="white", width=label_w)
w.pack(side=LEFT)
w = Label(root, text="Label2", bg="green", fg="black", width=label_w)
w.pack(side=LEFT)
w = Label(root, text="Label DREI", bg="blue", fg="white", width=label_w)
w.pack(side=LEFT)

root.mainloop()
同时填充至250

这取决于要创建的标签数量,比如
window\u width=250
labels\u all=3
,那么
width
选项将是
width=window\u width/labels\u all
此外,如果不编写
几何图形
值,窗口大小将自动适合标签

<> P> <强>如果您的窗口足够简单< <强> >,您可以考虑使用打包器选项<代码>扩展< /代码>,如<代码>扩展= 1 ,也包括<代码>填充>代码>选项,如果您的标签有颜色,请填写合法值:“x”、“y”、“两者”、“否”。p> 有关更多信息,请查看