如何在ttk笔记本中创建“ n”标签? n是一个变量用户输入

问题描述

我接受用户的数字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)}")

然后您可以通过在选项卡列表上循环来编辑每个选项卡。