Zdravím.

Rád bych radu.

Mám okno (wx.ScrolledWindow), které poté umístím na panel (wx.Panel). Do tohoto okna jsem vložil wx.GridSizer. Přesněji řečeno takto:

class CalendarWeekWindow(wx.ScrolledWindow):

...

  def OnCreate(self, evt):
    self.Unbind(wx.EVT_SIZE)
    vbox = wx.BoxSizer(wx.VERTICAL)
    self.legend = wx.BoxSizer(wx.HORIZONTAL)
    self.grid = wx.GridSizer(4, 7)
    vbox.Add(self.legend, 0, wx.EXPAND)
    vbox.Add(self.grid, 0, wx.EXPAND)
    self.SetSizer(vbox)
    self.Layout()
    vbox.Fit(self)
    self.Refresh()

...

Následně programově přidám do grid instance class TermButton(wx.Panel)
Ten má zobrazovat určité informace, něco na způsob kalendáře.

Čeho se mi nedaří dosáhnout je to, abych mohl programově změnit výšku tohoto TermButton. Chtěl bych, aby ten panel měl velikost 3:2. A když budu roztahovat šířku CalendarWeekWindow, tak se automaticky měnila i výška tohoto TermButton.

Zkoušel jsem v reakci na TermButton::EVT_SIZE měnit velikost tohoto prvku. Ne, že by to nefungovalo. Ale zřejmě to není správně, protože se začali ty prvky různě krabatit a překrejvat.

Pak mě napadlo, nastavit Grid na stretch. Jenže to mi pak vytáhne velikost toho TermButtonu přes celou vejšku, což také nechci.

Pak mě napadlo, že by mohlo fungovat nastavit tedy nějak výšku toho políčka sizeru. Podle něho se přeci roztáhne prvek. Jenže to jsem nezjistil jak. SetSize() metodu nemá, SetDimension() jsem po pravdě nepochopil, a SetMinSize() také nějak nereaguje.

Obávám se, že mi docházejí nápady.

Věděl by někdo jak na to?


--
BF
_______________________________________________
Python mailing list
[email protected]
http://www.py.cz/mailman/listinfo/python

Odpovedet emailem