如何使用Python Tkinter在一行中显示多个标签?

时间:2020-02-18 05:52:14

标签: python tkinter label

我有一个程序可以在带有多个标签的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()

输出:

enter image description here

2 个答案:

答案 0 :(得分:4)

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

labelX.pack(pady=15)

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

此外,两次导入tkinter也不理想。最好只导入一次,就像

import tkinter as tk

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

答案 1 :(得分:0)

执行此操作:

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