Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.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_Label - Fatal编程技术网

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

如何使用Python Tkinter在一行中显示几个标签,在下一行中显示几个标签?,python,tkinter,label,Python,Tkinter,Label,我有一个程序,在GUI屏幕上显示标签,但都在一行中。我想在一行中显示第一个循环中的所有标签,在另一行中显示第二个循环中的所有标签。代码如下: from tkinter import * import tkinter as tk win = Tk() win.title("Labels") win.geometry("800x600+50+50") win.config(bg='white') label1=Label(win, text="All Labels", font=("Calibr

我有一个程序,在GUI屏幕上显示标签,但都在一行中。我想在一行中显示第一个循环中的所有标签,在另一行中显示第二个循环中的所有标签。代码如下:

from tkinter import *
import tkinter as tk

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

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

for a in range(10):
    pre1=Label(win, text=("PIN",a), font=("Calibri",12), bg="white", borderwidth=1, relief="solid")
    pre1.pack(side=tk.LEFT)

for b in range(10):

    if (b%2==0):
        pre2=Label(win, text="OFF", font=("Calibri",12), bg="white", borderwidth=1, relief="solid")
        pre2.pack(side=tk.LEFT)
    else:
        pre3=Label(win, text="ON", font=("Calibri",12), bg="white", borderwidth=1, relief="solid")
        pre3.pack(side=tk.LEFT)

win.mainloop()
输出:

这应该可以:

from tkinter import *
import tkinter as tk

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

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

lblframe = tk.Frame(win)
for a in range(10):
    pre1=Label(lblframe, text=("PIN",a), font=("Calibri",12), bg="white", borderwidth=1, relief="solid")
    pre1.grid(row=0, column=a)

for b in range(10):

    if (b%2==0):
        pre2=Label(lblframe, text="OFF", font=("Calibri",12), bg="white", borderwidth=1, relief="solid")
        pre2.grid(row=1, column=b)
    else:
        pre3=Label(lblframe, text="ON", font=("Calibri",12), bg="white", borderwidth=1, relief="solid")
        pre3.grid(row=1, column=b)

lblframe.pack()

win.mainloop()