问题描述
我接受用户的数字n,并且要显示n个带有某些信息的标签,我该怎么做?
import tkinter as tk
from tkinter import ttk
root = tk.Tk()
tabControl = ttk.Notebook(root)
tab1 = ttk.Frame(tabControl)
tab2 = ttk.Frame(tabControl)
tabControl.add(tab1,text ='Tab 1')
tabControl.add(tab2,text ='Tab 2')
tabControl.pack(expand = 1,fill ="both") # i want to make n such tabs
ttk.Label(tab1,text ="some info here").grid(column = 0,row = 0)
ttk.Label(tab2,text ="more info here").grid(column = 0,row = 0)
root.mainloop()
解决方法
也许试试看:
n = int(input("How many Tabs do you want to open?"))
tabs = []
for i in range(n):
tabs.append(ttk.Frame(tabControl))
for i,tab in enumerate(tabs):
tabControl.add(tab,text=f"Tab {str(i+1)}")
然后您可以通过在选项卡列表上循环来编辑每个选项卡。