Я могу создать 2 вкладки по отдельности, и я пытаюсь сделать их расходуемыми, используя цикл for.Я получаю ошибку, которая говорит
tabs[upper_tabs] = self.tab
TypeError: unhashable type: 'list'
Я предполагаю, что это то, как я ссылаюсь на словарь.Не могли бы вы помочь мне понять и исправить ошибку.
import tkinter as tk
from tkinter import ttk
upper_tabs = ["Final", "Requests"]
tabs = {}
class Application(ttk.Frame): #inherent from frame.
def __init__(self, parent):
tk.Frame.__init__(self, parent, bg="ivory2")
self.parent = parent
self.pack()
self.tabControl = ttk.Notebook(self, width="900", height= "350") #
Create Tab Control
for names in upper_tabs:
self.tab=ttk.Frame(self.tabControl)# Create a tab
self.tabControl.add(self.tab, text=names) # Add the tab
tabs[names] = self.tab
self.tabControl.pack(expand=1, fill="both") # Pack to make visible
self.grid()
def main():
root = tk.Tk()
root.title("class basic window")
root.geometry("1200x600")
root.config(background="LightBlue4")
app = Application(root)
root.mainloop()
if __name__ == '__main__':
main()