Форум сайта python.su
Подскажите как можно контролировать размер таблицы в зависимости от размера окна
Офлайн
self.grid = wxGrid(pan1, -1, size=(1, 1))
Офлайн
Я немного не правильно задал вопрос мне нужно чтобы при изменении размера окна изменялась ширина столбцов что наподобие так
# -*- coding: utf8 -*-
import wx
import wx.grid
class Frame(wx.Frame):
def __init__(self):
wx.Frame.__init__(self,None,-1,u"test",size=(800,600))
panel=wx.Panel(self,-1)
sizer=wx.BoxSizer(wx.VERTICAL)
self.grid=wx.grid.Grid(panel,pos=(1,0),size=(100,100))
self.grid.CreateGrid(100,5)
self.grid.SetRowLabelSize(0)
self.grid.DisableDragGridSize()
self.grid.SetDefaultColSize(154)
sizer.Add(self.grid, flag=wx.EXPAND)
panel.SetSizer(sizer)
panel.Fit()
self.Bind(wx.EVT_SIZING,self.Resize)
self.Bind( wx.EVT_MAXIMIZE, self.Resize)
def Resize(self,event):
Size=self.GetSize()
New=(Size[0]*154)/800
self.grid.SetDefaultColSize(New)
if __name__=='__main__':
app=wx.PySimpleApp()
frame=Frame()
frame.Show()
app.MainLoop()
Офлайн
Я когда-то тоже искал, но ничего путного не нашел, в wxPython 2.6 autoresize еще не работал,
может сейчас уже добавили - не знаю.
Тогда делал сам по событию wx.EVT_SIZE делал пропорциональный пересчет ширины колонок.
Офлайн