Das deutsche Python-Forum Foren-Übersicht Das deutsche Python-Forum
Diskussionen rund um die Programmiersprache Python
 
 FAQFAQ   SuchenSuchen MitgliederlisteMitgliederliste BenutzergruppenBenutzergruppen   RegistrierenRegistrieren 
 Wiki FAQWiki FAQ WikiWiki ImpressumImpressum
 ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

FlexGridSizer-Verhalten mit und ohne SetMinSize...

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche Python-Forum Foren-Übersicht -> wxPython
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
mutetella
User


Anmeldungsdatum: 05.03.2009
Beiträge: 51

BeitragVerfasst am: Mo Feb 08, 2010 15:47    Titel: FlexGridSizer-Verhalten mit und ohne SetMinSize... Antworten mit Zitat

Hallo,

nachfolgend erstmal der Code, der wohl das macht, was ich will... Nur verstehen kann ich's nicht...:

Code: (Python)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#!/usr/bin/python
#-*- coding: utf-8 -*-

import wx

class Frame(wx.Frame):
    def __init__(self):
        wx.Frame.__init__(self, None, -1, pos=(300,50), size=(500,200))
        gridpanel = wx.Panel(self, -1)
        panelzwei = wx.Panel(self, -1)
        wx.StaticText(panelzwei, label="Das hier ist panelzwei...\nmit zwei Textzeilen...")
       
        panel = []
        grid = wx.FlexGridSizer(0, 2, 2, 2)
        box  = wx.BoxSizer(wx.VERTICAL)
       
        for i in range(6):
            panel.append(wx.Panel(gridpanel, -1, style=wx.BORDER_SIMPLE))
            panel[i].SetMinSize((10,10)) # Warum??
           
wx.StaticText(panel[i], label="Panel "+str(i)+"\n Hier steht ein Text\n"
                                                            "und hier auch noch\n"
                                                            "und so weiter..."
)
            grid.Add(panel[i], 0, wx.EXPAND)
           
        grid.AddGrowableCol(0, 0)
        grid.AddGrowableCol(1, 0)
        grid.AddGrowableRow(0, 0)
        grid.AddGrowableRow(1, 0)
        grid.AddGrowableRow(2, 0)

        gridpanel.SetSizer(grid)
       
        box.Add(gridpanel, 1, wx.EXPAND)
        box.Add(panelzwei, 0, wx.EXPAND)
        self.SetSizer(box)

class App(wx.App):   
    def __init__(self):
        wx.App.__init__(self)
   
    def OnInit(self):
        frame1 = Frame()
        frame1.Show()
        return True

if __name__ == '__main__':
    app = App()
    app.MainLoop()



Das Programm erzeugt einen FlexGridSizer, der die beinhalteten Panels gleichmäßig auf dem verfügbaren Platz anzeigt und wenn nötig den Panelinhalt aller 6 Panels beschneidet. Wenn ich allerdings die SetMinSize()-Methode (Zeile 19) nicht anwende, beginnt der Sizer von unten her die Panels abzuschneiden.

Welchen Einfluß hat die SetMinSize()-Methode? Sollte es nicht eher SetMaxSize() heißen? Ich bin total blockiert.... Confused

Würde mich über eine Erklärung sehr freuen...

Gruß
mutetella
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
mutetella
User


Anmeldungsdatum: 05.03.2009
Beiträge: 51

BeitragVerfasst am: Mi Feb 10, 2010 12:03    Titel: Antworten mit Zitat

Wirklich keiner eine Idee oder sogar Erklärung?

Sad
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche Python-Forum Foren-Übersicht -> wxPython Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
using CodeBB 1.1