2013-09-09 6 views
0

У меня есть считыватель cxv wxpython. Я показываю результаты по сетке. Сетка займет около половины экрана. Я хотел бы отображать 100 строк за раз. Я назначил там 100 строк, но я не могу прокрутить до нижнего 50. Я доказал, что строки есть, записывая строки, которые я не вижу, копируя весь столбец и вставляя в excel. То, что я ожидаю увидеть, это полоса прокрутки, которая позволяет мне прокручивать донизу 50. Я разрешил редактирование размера столбца. Когда я увеличиваю высоту столбца, появляется полоса прокрутки, но все же позволяет мне просматривать только 50 верхних столбцов. (если пользователь делает высоту столбца больше, чем обычно, мой свиток добавляет дюйм). Лучше всего предположить, что что-то не так с тем, как я начинаю/получаю лучший размер комбинаций sizers, панелей и сетки. Я вырезал код, который не нужен, но панель макета и ящик - это моя общая/основная панель и поле.wxpython не показывает всю сетку

import wx.grid as grd 
import wx 
self.layoutPanel = wx.Panel(self) 
self.layoutBox = wx.BoxSizer(wx.VERTICAL) 
self.previewPanel = wx.Panel(self.layoutPanel) 
self.previewBox = wx.BoxSizer(wx.VERTICAL) 
self.resultGrid = grd.Grid.__init__(self, self.previewPanel,0) 
self.resultGrid.CreateGrid(105,20) 
self.previewBox.Add(self.resultGrid,0, wx.GROW) 
self.resultGrid.SetSize(self.resultGrid.GetBestSize()) 
self.previewPanel.SetSizer(self.previewBox) 
self.layoutBox.Add(self.previewPanel,0, wx.ALL) 
self.layoutPanel.SetSizerAndFit(self.layoutBox)  
self.layoutPanel.Layout() 
+0

Я не вижу вызова CreateGrid, где вы действительно указываете сетке количество столбцов и строк, которые должны быть. Если вы этого не сделаете, вы должны использовать виджет в виртуальном режиме. –

+0

Да, я забыл добавить код к примеру, но у меня было это в моем исходном коде. Некоторые из этих строк я должен был изменить, чтобы понять, чего я пытаюсь выполнить, поскольку у меня этот код разворачивается в разные места. – cemcnaughton

ответ

0

Проблема была в гнезде где-то в 2-х панелях друг с другом. Обычно это нормально, но это немного сложнее с сеткой. Я полностью избавился от PreviewPanel и PreviewBox, и это решило проблему. Однако другой проблемой был FIT. Подгонка делает панель настолько малой, насколько это возможно, и это не то, что я хотел. В коде, который не показан, у меня были изменения размера, и когда я сделал это, у меня был setSizeAndFit, который убрал прокрутку. Я изменил его на setSize, и полоса прокрутки осталась.