Wie der Thread http://www.python-forum.de/topic-10673.html unterschwellig andeutet, gibt es im Standard-Widgetsatz von Tkinter kein Tabellenwidget. Da es aber fast so häufig nachgefragt wird wie ein Baumwidget, sollten wir als Python-Gemeinde unseren Beitrag zur Vervollständigung leisten. Meine Meinung.
Deshalb wollte ich hiermit die Entwicklung starten und als erstes die Requirements für ein Tabellenwidget sammeln. Ich fange schonmal an und erwarte dann eure Meinung, Verbesserungs- und Ergänzungsvorschläge. Was letztlich genommen wird, können wir dann entscheiden.
So, das ist erstmal ein erster Schritt. Ist natürlich nicht alles, was ich dazu zu sagen habe, sollte aber vorerst Stoff für eine (Grundsatz-?)Diskussion geben.erste Requirements hat geschrieben: Requirement (Req. #) - Beschreibung
========================
Item: mic 1
Die Tabelle muss in einem konstanten, rechteckigen Feld ausgeführt werden. Veränderungen der Spaltenbreite oder Zeilenhöhe darf das gesamte Widget weder verschieben noch in der Größe verändern (wie, wenn man eine Grid-Manager in einem Frame verwendet)
Item: mic 2
Es wird automatisch oder manuell ein Nutzungsbereich der Tabelle definiert. Der automatische Bereich umfasst die Felder A1 (oben links) und ist x Felder breit sowie y Felder hoch. x entspricht der Elementzahl des breitesten Datensatzes, y der Anzahl der Datensätze in der Tabelle.
Beim manuellen Nutzungsbereich wird der Arbeitsbereich begrenzt, so dass man nicht weiter nach rechts oder unten kommt.
Frage: kann man das so verbinden, oder sollte man es doch besser trennen, um auch für automatische Nutzungsbereichswahl einen festen Arbeitsbereich zu definieren?
Item: mic 3
Es muss "Scrollbars" am rechten und unteren Rand geben, die automatisch auf den genutzten Tabellenabschnitt dimensioniert werden. Zusätzlich müssen sie ermöglichen, wie in Excel auch über das Ende des genutzten Bereichs zu scrollen.
Frage: sollen sie immer sichtbar sein, nur wenn der Nutzungsbereich größer ist als der sichtbare Ausschnitt oder soll das als Option gelassen werden?
Item: mic 4
Spaltenbreiten sollen einen Vorgabewert haben, aber auch vom Anwender änderbar sein.
Nun seid ihr gefragt, was erwartet ihr von einem Tabellenwidget? Eure Vorschläge mit eurem Kürzel und der Itemnummer - damit sie sich nicht überschneiden. Ihr könnt die Itemnummern auch "versionieren" (mic 1.1), um die spätere Auswahl zu ermöglichen.
Gruß,
Michel