Как отобразить несколько меток в одной строке с помощью Python Tkinter? - PullRequest
4 голосов
/ 18 февраля 2020

У меня есть программа, которая отображает текст на экране 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 ]

2 голосов
/ 18 февраля 2020

По умолчанию метод pack() упаковывается сверху, поэтому по умолчанию вы получаете вертикальный стек меток. Вы хотите упаковать налево, чтобы легко получить все метки в одном ряду. Для этого измените:

labelX.pack(pady=15)

на

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

Кроме того, не рекомендуется импортировать tkinter дважды. Лучше всего импортировать его только один раз, как

import tkinter as tk

, а затем обязательно использовать tk. перед всеми методами, атрибутами и классами.

0 голосов
/ 18 февраля 2020

Сделайте это:

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

...