Вот простейший пример, который я могу сделать из того, что я пытаюсь сделать. Это сетка внутри панели:Как определить размер панели для сетки
#!/usr/bin/env python
import wx
import wx.grid
app = wx.App(False)
class InfoPane(wx.grid.Grid):
def __init__(self, parent):
wx.grid.Grid.__init__(self, parent)
# Set up the presentation
self.SetRowLabelSize(0)
self.CreateGrid(1, 6)
self.SetColLabelAlignment(wx.ALIGN_LEFT, wx.ALIGN_CENTRE)
self.SetColLabelValue(0, "Name")
self.SetColLabelValue(1, "Status")
self.SetColLabelValue(2, "")
self.SetColLabelValue(3, "File")
self.SetColLabelValue(4, "Last Action")
self.SetColLabelValue(5, "Other Info")
frame = wx.Frame(None)
panel = wx.Panel(frame)
info_pane = InfoPane(panel)
note_sizer = wx.BoxSizer()
note_sizer.Add(info_pane, 1, wx.EXPAND)
panel.SetSizerAndFit(note_sizer)
frame.Show()
app.MainLoop()
Я хочу, чтобы все это к самому размеру, так что содержимое сетки все видно. То, что происходит в данный момент заключается в следующем:
(обратите внимание: редактирование - я взял ноутбук из, для еще большего упрощения, результат тот же, глядя)
Идеи? Благодаря!
Почему бы не увеличить окно при его создании? frame = wx.Frame (None, size = (1000,1000)) –
Потому что я хочу, чтобы приложение запустило правильный размер. Слишком большой: много ярких пробелов вокруг сетки (попробуйте с примером кода, я думаю, вы увидите, что я имею в виду). Слишком мало: полоса прокрутки. – GreenAsJade