【问题标题】:How to Display Multiple Labels in One Line with Python Tkinter?如何使用 Python Tkinter 在一行中显示多个标签?
【发布时间】:2020-06-02 02:22:16
【问题描述】:

我有一个程序在 GUI 屏幕上显示带有多个标签的文本。但是所有标签都在新行中显示文本,我想在单行中显示文本。代码如下:

from tkinter import *
import tkinter as tk

win = Tk()
win.title("Label Screen")
win.geometry("800x600+50+50")
win.config(bg='white')

label1=Label(win, text="Label 1", font=("Calibri",24,"bold"), bg='white')
label1.pack(pady=15)

label2=Label(win, text="Label 2", font=("Calibri",24,"bold"), bg='white')
label2.pack(pady=15)

label3=Label(win, text="Label 3", font=("Calibri",24,"bold"), bg='white')
label3.pack(pady=15)

win.mainloop()

输出:

【问题讨论】:

  • 为此,我认为您必须将标签放在一个标签中,然后再打包。 Tinker 不太好,所以我的知识有限
  • 你为什么不阅读一些文件?

标签: python tkinter label


【解决方案1】:

这样做:

label1.pack(side=tk.LEFT,pady=15)
label2.pack(side=tk.LEFT,pady=15)
label3.pack(side=tk.LEFT,pady=15)

进一步阅读:https://effbot.org/tkinterbook/pack.htm

【讨论】:

  • 这非常接近,但尝试 tk.LEFT 而不是 tk.Left
【解决方案2】:

默认情况下,pack() 方法会打包到顶部,因此默认情况下您将获得垂直堆栈的标签。您希望向左打包以轻松获取同一行上的所有标签。为此,请更改:

labelX.pack(pady=15)

labelX.pack(side=tk.LEFT, pady=15)

另外,两次导入 tkinter 并不理想。最好只导入一次,因为

import tkinter as tk

然后确保在所有方法、属性和类之前使用tk.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-07-03
    • 2021-05-02
    • 1970-01-01
    • 2017-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多