Daniel
Я предлагаю также wxPython.
Если вы решите использовать wxPython, здесь приведено общее описание того, как заставить работать вкладки. Это требует от вас заполнить некоторые пробелы, но как только вы освоите основы wxPython, вы узнаете, как создать «Блокнот» с вкладками.
То, что вы в основном сделали бы, - это чтобы у вас был основной сценарий (схема которого представлена в следующем примере кода), а затем каждая панель была представлена в виде отдельного файла (в этом примере это: panel1.py panel2.py, panel3.py и т. д.). А основной скрипт будет запускать отдельные панели через wxPython.
Ваш основной скрипт, который обрабатывает все окно, будет выглядеть примерно так:
from wxPython.wx import *
class MainFrame(wxFrame):
.
.
.
def __init__(self, parent, id, title):
.
.
.
# Create the Notebook
self.nb = wxNotebook(self, -1, wxPoint(0,0), wxSize(0,0), wxNB_FIXEDWIDTH)
# Make PANEL_1 (filename: panel1.py)
self.module = __import__("panel1", globals())
self.window = self.module.runPanel(self, self.nb)
if self.window:
self.nb.AddPage(self.window, "PANEL_1")
# Make PANEL_2 (filename: panel2.py)
self.module = __import__("panel2", globals())
self.window = self.module.runPanel(self, self.nb)
if self.window:
self.nb.AddPage(self.window, "PANEL_2")
# Make PANEL_3 (filename: panel3.py)
self.module = __import__("panel3", globals())
self.window = self.module.runPanel(self, self.nb)
if self.window:
self.nb.AddPage(self.window, "PANEL_3")
.
.
.
Но я должен подчеркнуть ... не пытайтесь сразу вкладки, понять принципы того, как wxPython работает в первую очередь.