Я пытаюсь построить что-то, как показано ниже:Как создать ноутбук wxpython с двумя панелями, разделенными по горизонтали?
Это ноутбук с 2-х панелей, разделенных по горизонтали. Панель сверху также разделена на 2, каждый раскол, содержащий объект wx.grid.
Я попытался код ниже, но 2 сетки на верхней панели не отображаются:
class NoteBook(wx.Notebook):
def __init__(self, parent, pages):
wx.Notebook.__init__(self, parent, id=wx.ID_ANY, style= wx.BK_DEFAULT)
self.parent = parent
page = "TEST"
self.splitter_window = wx.SplitterWindow(self)
self.AddPage(self.splitter_window, page)
title_name = page[1:]
grid_panel = wx.Panel(self.splitter_window, style=wx.BORDER_THEME)
grid_splitter = wx.SplitterWindow(grid_panel)
grid_panel_1 = wx.Panel(grid_splitter, style=wx.BORDER_THEME)
grid1 = grid_maker.GridArea(grid_panel_1)
grid1.CreateGrid(page) #create the grid 1
grid1.addToGrid(page) #adding some data to grid 1
binder = cxt_functions.GridFunctions(self, grid1) #bind some functions to grid1
binder.BindCrewGridMenu()
grid_panel_2 = wx.Panel(grid_splitter, style=wx.BORDER_THEME)
grid2 = grid_maker.CreateGrid(grid_panel_2) #create the grid 1
grid2.addToGrid(page) #adding some data to grid 1
grid_splitter.SplitVertically(grid_panel_1, grid_panel_2, 100)
grid_sizer = wx.BoxSizer(wx.VERTICAL)
grid_sizer.Add(grid1, 1, wx.EXPAND | wx.ALL, 7)
grid_sizer.Add(grid2, 0, wx.EXPAND | wx.ALL, 7)
grid_panel.SetSizer(grid_sizer)
chart_panel = wx.Panel(self.splitter_window, style=wx.BORDER_THEME)
line_chart = bar_line.CanvasPanel(chart_panel, title_name)
line_chart.draw()
self.splitter_window.SplitHorizontally(grid_panel, chart_panel, 500)
p_sizer = wx.BoxSizer(wx.VERTICAL)
p_sizer.Add(self, 1, wx.EXPAND | wx.ALL, 7)
self.parent.SetSizer(p_sizer)
sizer = wx.BoxSizer(wx.VERTICAL)
sizer.Add(self.parent, 1, wx.EXPAND)
self.SetSizer(sizer)
Что случилось выше?
Спасибо, но я хочу разместить его на ноутбуке, который находится на рамке. Как его настроить? – alwbtc
Ну, все, что вам нужно сделать, это добавить ноутбук и сделать его родителем первого сплиттера. Я немного скорректировал код. –
Хорошо, я сработал. Майк, пожалуйста, покажите мне, как синхронно прокручивать две сетки на верхней панели, я пробовал все, но не мог заставить ее работать. Я буду благодарен. С наилучшими пожеланиями – alwbtc