Mensa-Plan

Fragen zu Tkinter.
Antworten
Azimoth
User
Beiträge: 8
Registriert: Sonntag 1. Juli 2012, 16:14

Auf der Suche nach einem "Problem", für das ich ein Programm schreiben könnte kam mir der Gedanke, ein Programm zu basteln, dass den Essensplan der Mensa aus dem Internet abfragt und anzeigt (als Wochenübersicht).

Die Daten aus dem Netz zu holen klappt auch ganz prima, so dass ich nachher zu jedem Wochentag eine Liste habe etwa so:

wochentag = [Datum, Vorspeisen, Salate, Suppen, ...]

Vermutlich ist es ganz einfach wenn man weiß wie, aber es gelingt mir nicht, daraus eine Übersicht mit fester Spaltenbreite zu erstellen. Soll nachher etwa so aussehen:

http://www.studentenwerk-berlin.de/prin ... woche.html

Mein Hauptproblem ist, dass ich keine Spalten erstellen kann. Trennstriche (zumindest vertikale zwischen den Tagen) wären ein nettes extra, sind aber nicht erforderlich.

Hat jemand eine Idee?

Danke schonmal

EDIT: Ich versuche das übrigens mit Python 3.
BlackJack

@Azimoth: Feste Spaltenbreite mit einem Grid-Layout würde bedeuten, dass die Elemente in den Spalten gleich breit sind. Oder das die Spalten expandieren dürfen, mindestens so breit wie der breiteste Inhalt sind, und das gleiche Gewicht haben.

Alternativ könnte man `ttk.TreeView` verwenden um eine Tabelle anzuzeigen.

Oder ein anderes GUI-Toolkit. ;-)
Azimoth
User
Beiträge: 8
Registriert: Sonntag 1. Juli 2012, 16:14

Gemeint war, dass die Spalten eine feste Breite und je nach Inhalt mal mehr mal weniger Zeilen haben.

Quasi wie bei Excel... zumindest als Option geht das da.

Welche anderen GUI-Toolkits gibt's denn so?

Da ich ohnehin noch keines beherrsche ist mir relativ egal was ich lerne (habe Tkinter genommen, weil das in meinem Python Buch ansatzweise verwendet wurde). Was ist denn so das verbreitetste?
BlackJack

@Azimoth: Gtk, Tkinter, Qt, und wxPython sind wohl die verbreitetsten Toolkits. Welches davon für Dich geeignet ist hängt vom Einsatzzweck, der/den Zielplattform(en), persönlichen Vorlieben, und den in Frage kommenden Lizenzen ab.

Zur Ursprungsfrage: `Text` ist AFAIK das einzige Standardwidget in `Tkinter`, welches den Inhalt selbst umbrechen kann. Du könntest also den Spalten dadurch eine Feste breite geben, dass Du den Textwidgets feste Breiten gibst, die Du in die Zellen steckst. Bei `Text` kannst Du den Text auch formatieren, also zum Beispiel Fett, farbig, und verschiedene Schriftgrössen kombinieren.
Azimoth
User
Beiträge: 8
Registriert: Sonntag 1. Juli 2012, 16:14

ist Text(app) nicht nur ein Eingabefeld (für Text)?
BlackJack

@Azimoth: Jain, Du kannst ja auch per Programm Text dort reinschreiben und es auf nicht bearbeitbar setzen.
Dark Shadow
User
Beiträge: 38
Registriert: Samstag 23. April 2011, 15:49

Solange Du keine Bilder in die Tabelle einfügen möchtest, bietet sich mMn TkTable an. Das habe ich mal für ein Projekt benutzt und bin relativ gut damit zurande gekommen. TkTable ist für Tkinter geschrieben, was meiner Meinung nach das schönste Toolkit zum Lernen für den Anfang ist.

Dark Shadow
Benutzeravatar
Kebap
User
Beiträge: 687
Registriert: Dienstag 15. November 2011, 14:20
Wohnort: Dortmund

Ich würde vorschlagen, einfach eine HTML Seite zu erstellen, und den Browser die Details zu überlassen.

edit: Hab jetzt erst gemerkt, dass dies das Tkinter Unterforum ist. OK, dann nehm ich alles zurück.
MorgenGrauen: 1 Welt, 8 Rassen, 13 Gilden, >250 Abenteuer, >5000 Waffen & Rüstungen,
>7000 NPC, >16000 Räume, >200 freiwillige Programmierer, nur Text, viel Spaß, seit 1992.
Antworten