#!/usr/bin/env python
import wx
import wx.grid as gridlib
#---------------------------------------------------------------------------
class table(gridlib.Grid):
def __init__(self, parent):
gridlib.Grid.__init__(self, parent, -1)
self.CreateGrid(10,10)
#self.SetSize((20,20))
class MyFrame(wx.Frame):
def __init__(self, parent, id, title):
wx.Frame.__init__(self, parent, id, title)
self.SetSize((640,480))
panel = wx.Panel(self)
border = wx.BoxSizer(wx.VERTICAL)
methods = [u"Минимаксный критерий принятия решений",
u"Критерий Байеса–Лапласа",
u"Критерий Сэвиджа",
u"Производные критерии принятия решений",
u"Критерий принятия решений Гермейера",
u"Критерий произведений"]
self.rb = wx.RadioBox(
panel, -1, u"Методы:", (-1, -1), (-1, -1),
methods, 2, wx.RA_SPECIFY_COLS
)
border.Add(self.rb, 0, wx.ALL, 20)
sizeSizer = wx.FlexGridSizer(cols=2, hgap=5, vgap=5)
self.x = wx.TextCtrl(panel, -1, "")
sizeSizer.Add(wx.StaticText(panel, -1, u"Колонки:"))
sizeSizer.Add(self.x)
self.y = wx.TextCtrl(panel, -1, "")
sizeSizer.Add(wx.StaticText(panel, -1, u"Строки:"))
sizeSizer.Add(self.y)
resize = wx.Button(panel, 10, u"Изменить размер таблицы")
sizeSizer.Add(resize)
border.Add(sizeSizer, 0, wx.LEFT|wx.BOTTOM, 10)
border1 = wx.BoxSizer(wx.VERTICAL)
panel1 = wx.Panel(panel, style = wx.BORDER_RAISED | wx.VSCROLL | wx.HSCROLL )
self.tb = table(panel1)
border1.Add(self.tb)
panel1.SetSizer(border1)
panel1.SetSize((200,200))
border.Add(panel1, 0, wx.LEFT|wx.BOTTOM, 10)
panel.SetSizer(border)
#---------------------------------------------------------------------------
class MyApp(wx.App):
def OnInit(self):
frame = MyFrame(None, -1, u"Методы принятия решения")
frame.Show(True)
self.SetTopWindow(frame)
self.keepGoing = True
return True
app = MyApp(False)
app.MainLoop()
wxWidgets панель со скролом
собсно вот код как я это делаю, но сдесь панель вторая принимает размер таблици и скролирование не работает:
(язык питон. но решения проблемы можете кидать на любом языке)
Код:
Проблема решена есть класс wx.ScrolledWindow. чет я его пропустил =/
Протупил дважды) таблица есть наследник этого СрокллВиндов =)