wxGrid als Listcontrol nutzen

Plattformunabhängige GUIs mit wxWidgets.
Antworten
py_lo
User
Beiträge: 60
Registriert: Freitag 20. März 2009, 09:12

Servus,

habe mir einmal das Beispiel "Mega Grid" von den WxPython-Demos geschnappt und habe
ein wenig rumgepielt :mrgreen:
Ziel war es ein Listcontrol nachzubilden. Mit hat die implementierung der
selbst gezeichneten Zellen gut gefallen.

Nunja, nun habe ich in etwa das, was ich ich auch haben wollte -
aber es tauchen immer wieder Linien auf die da nicht hin sollen.

Irgendwie verstehe ich da die Ursache nicht. Kann mir da jmd einen guten Tipp geben?

http://pastebin.com/V5D9mh5B
py_lo
User
Beiträge: 60
Registriert: Freitag 20. März 2009, 09:12

ich nochmal,

mir hat sich da gerade noch eine weitere Frage aufgetan:

Ich möchte, dass das Grid immer so groß ist wie das Fenster in dem es sich
befindet.
Der Einfachheit halber soll die letzte Spalte in der Größe angepasst werden

Daher hatte ich folgendes gedacht:

Code: Alles auswählen

#-schnipp- (Zeile 320 Grid_MegaExample, einfach ab hier dort einfügen)
        parent.Bind(wx.EVT_SIZING, self.OnSizing)

    def OnSizing(self,event):
# So dann erstmal ermitteln wie groß denn die Spalte werden darf, damit sie
# noch ins Fenster Passt....
        diff = self.GetClientRect().width - self.GetEffectiveMinSize().x \
                                  + self.GetColSize(self._table.GetNumberCols() - 1)
#diff ist also nun der noch "freie" Bereich im Fenster... 
#dann sollte folgendes eigentlich helfen:
        self.SetColSize(self._table.GetNumberCols() - 1,diff)
#Tut es aber nicht... solange ich die letzte Zeile weglasse und mir nur den Wert
#diff anzeige scheint alles zu stimmen. Füge ich die Zeile ein ist
#self.GetEffectiveMinSize().x etwas sprunghaft und führt nicht zu dem gewünschten
#Ergebnis.
Mir fehlt da ein wenig das Verständnis von dem was wohl passiert wenn ich "SetColSize"
aufrufe während die Fenstergröße sich ändert...

Frage ist also was kann ich tun damit das ganze richtig funktioniert?
py_lo
User
Beiträge: 60
Registriert: Freitag 20. März 2009, 09:12

Okay... habe jetzt meinen persönlichen Exkurs zum Thema Gridcontrol
beendet (funktioniert).

Immerhin habe ich nun viel darüber gelernt und nach unzähligen Stunden
was erschaffen, was das ListControl eh schon bietet. *taadaaa*
Antworten