Как мне создать ‘n’ вкладок в записной книжке ttk? n — переменная (вводимая пользователем)

#python #user-interface #tkinter #dynamic #ttk

#python #пользовательский интерфейс #tkinter #динамический #ttk

Вопрос:

Я принимаю число 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() 
  

Ответ №1:

Может быть, попробуйте это:

 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)}")
  

Затем вы можете редактировать каждую вкладку, просматривая список вкладок.

Комментарии:

1. Следует избегать использования консоли input в приложении с графическим интерфейсом.