Tkinter Notebook ve widgetların gözükmeme sorunu

Merhaba, artık fazla python ile uğraşmasamda uzun zaman önce yaptığım bir projeyi düzenlemek istemiştim ancak nedense hiçbir sorun gözükmemesine rağmen koddaki tanımlı widgetların ekranda gözükmediğini fark ettim
sizce sorun ne olabilir?

import os
from tkinter import *
from tkinter.tix import *
from tkinter import ttk, font
from playsound import playsound

class Hiragana:
	kanaForms  = {"normal":     "あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわをん",
	              "dakuten":    "がぎぐげござじずぜぞだぢづでどばびぶべぼ",
	              "handakuten": "ぱぴぷぺぽ"}
	romajiForm = ('a',   'i',  'u', 'e', 'o',
				  'ka',  'ki', 'ku',     'ke',
				  'ko',  'sa', 'shi',    'su',
				  'se',  'so', 'ta',     'chi',
				  'tsu', 'te', 'to',     'na',
				  'ni',  'nu', 'ne',     'no',
				  'ha',  'hi', 'fu',     'he',
				  'ho',  'ma', 'mi',     'mu',
				  'me',  'mo', 'ya',     'yu',
				  'yo',  'ra', 'ri',     'ru',
				  're',  'ro', 'wa',     'wo',
				  'n',   'ga', 'gi',     'gu',
				  'ge',  'go', 'za',     'ji',
				  'zu',  'ze', 'zo',     'da',
				  'ji',  'zu', 'de',     'do',
				  'ba',  'bi', 'bu',     'be',
				  'bo',  'pa', 'pi',     'pu',
				  'pe',  'po')

	kanaMap   = dict(zip("".join(kanaForms.values()), romajiForm))

class HiraMana:

	def __init__(self, root, font):
		self.root = root
		self.font = font
		self.soundPaths = dict(zip(Hiragana.romajiForm, 
		                          (os.path.join("sounds",f"{ch}.mp3") for ch in Hiragana.romajiForm)))
		self.widgets = {"normal":    {"tabframe": None, 
		                              "frame": None, 
		                              "chartbuttons": []},

		                "dakuten":   {"tabframe": None, 
		                              "frame": None, 
		                              "chartbuttons": []},

						"handakuten":{"tabframe": None, 
		                              "frame": None, 
		                              "chartbuttons": []}}
		self.__initWidgets()


	def __initBaloonWidget(self):
		self.balloon = Balloon(self.root,bg="white", title="Romaji")
		self.balloon.subwidget('message')['fg'] = "red"
		self.balloon.subwidget('message')['font'] = self.font

		for widgetMap in self.widgets.values():
			for button in widgetMap["chartbuttons"]:
				self.balloon.bind_widget(button, balloonmsg=button["text"])

		for sub in self.balloon.subwidgets_all():
			sub.config(bg='light grey')

	def __initButtonWidgets(self):
		for key, form in Hiragana.kanaForms.items():
			for hchar in form:
				hiraButton = Button(self.widgets[key]["frame"])
				hiraButton["text"] = hchar
				hiraButton["font"] = self.font
				hiraButton["command"] = lambda path=self.soundPaths[Hiragana.kanaMap[hchar]]: playsound(path, False)
				self.widgets[key]["chartbuttons"].append(hiraButton)

	def __initNotebookWidget(self):
		self.tabControl = ttk.Notebook(self.root)
 
		self.tabControl.add(self.widgets["normal"]["tabframe"],    text= "Normal Form")
		self.tabControl.add(self.widgets["dakuten"]["tabframe"],   text= "Dakuten Form")
		self.tabControl.add(self.widgets["handakuten"]["tabframe"],text= "Handakuten Form")

	def __initFrameWidgets(self):
		self.widgets["normal"]["tabframe"]     = Frame(self.root)
		self.widgets["dakuten"]["tabframe"]    = Frame(self.root)
		self.widgets["handakuten"]["tabframe"] = Frame(self.root)

		self.widgets["normal"]["frame"]        = Frame(self.widgets["normal"]["tabframe"], bg="gray")
		self.widgets["dakuten"]["frame"]       = Frame(self.widgets["dakuten"]["tabframe"], bg="gray")
		self.widgets["handakuten"]["frame"]    = Frame(self.widgets["handakuten"]["tabframe"], bg="gray")



	def __initWidgets(self):

		self.__initFrameWidgets()
		self.__initNotebookWidget()
		self.__initButtonWidgets()
		
	def loop(self):
		def drawChart(widgets, chart):
			idx = 0
			for y in range(len(chart)):
				for x in range(len(chart[y])):
					if chart[y][x]:
						widgets[idx].grid(row = y, column = x)
						idx += 1

		self.tabControl.pack(expand = 1, fill ="both")
		self.widgets["normal"]["frame"].pack(fill=Y,expand=True,padx=10, pady=10)
		self.widgets["dakuten"]["frame"].pack(fill=Y,expand=True,padx=10, pady=10)
		self.widgets["handakuten"]["frame"].pack(fill=Y,expand=True,padx=10, pady=10)


		chart = [[1,1,1,1,1],
			     [1,1,1,1,1],
			     [1,1,1,1,1],
			     [1,1,1,1,1],
			     [1,1,1,1,1],
			     [1,1,1,1,1],
			     [1,1,1,1,1],
			     [1,0,1,0,1],
			     [1,1,1,1,1],
			     [1,0,0,0,1],
			     [1]]

		drawChart(self.widgets["normal"]["chartbuttons"], chart)
		
		chart = [[1,1,1,1,1],
			     [1,1,1,1,1],
			     [1,1,1,1,1],
			     [1,1,1,1,1]]

		drawChart(self.widgets["dakuten"]["chartbuttons"], chart)

		chart = [[1,1,1,1,1]]

		drawChart(self.widgets["handakuten"]["chartbuttons"], chart)


# main:
root = Tk()
root.title("HiraMana")
root.resizable(False, False)

mainApp = HiraMana(root, font=font.Font(family='Helvetica', size=22, weight='bold'))
mainApp.loop()

root.mainloop()

not: kodu denemek için tix kütüphane eklentisine gerek yok ve playsound ile ilgili kısımları silerseniz çalıştırabilirsiniz
sonuç:


beklenen:
image