Hallo,
ich hab da ein Problem, ich stehe irgendwie auf dem Schlauch. Folgendes:
Wie kann ich eine Tabelle machen, sie sollte jedoch in einem tkinter fenster erscheinen. ich meine so eine wie bei exel, so 12*6 kästchen.
danke
gruß spaceboy
blackbird hat's nach tkinter verschoben
Tabellen
-
- User
- Beiträge: 419
- Registriert: Sonntag 3. September 2006, 15:11
- Wohnort: in den weiten von NRW
- Kontaktdaten:
Hi!
erstmal: -> Tkinter-forum
so, was willst du denn da rein schreiben. Willst du exel nachprogrammieren, oder willst du nur ein Gitter haben, oder, oder, ...
Gruß, jj
PS: Du willst mit Tkinter exel neu programmieren, weißt aber nicht, was GUI heißt?
erstmal: -> Tkinter-forum
so, was willst du denn da rein schreiben. Willst du exel nachprogrammieren, oder willst du nur ein Gitter haben, oder, oder, ...
Gruß, jj
PS: Du willst mit Tkinter exel neu programmieren, weißt aber nicht, was GUI heißt?
Sowas?:
Code: Alles auswählen
import Tkinter as tk
master = tk.Tk()
columnheaders = [" ","Spalte 1","Spalte 2","Spalte 3"]
rowbeginners = ["Zeile 1","Zeile 2","Zeile 3","Zeile 4","Zeile 5",]
i=0
for row in rowbeginners:
n=0
for column in columnheaders:
if i == 0:
tk.Label(master, width=20,text=column
).grid(row=i, column=n, sticky=tk.W+tk.E)
elif n == 0:
tk.Label(master, width=20,text=row
).grid(row=i, column=n, sticky=tk.W+tk.E)
else:
tk.Entry(master, width=20,background='white'
).grid(row=i, column=n, sticky=tk.W+tk.E)
n+=1
i+=1
tk.mainloop()
- Michael Schneider
- User
- Beiträge: 569
- Registriert: Samstag 8. April 2006, 12:31
- Wohnort: Brandenburg
Hi,spaceboy hat geschrieben:genau so,
danke Mr_Snede, jetzt bin ich schon ein stück weiter.
solange Du das auf einen Bildschirm bekommst, ist der grid-Manager optimal. Nur: sobald Du da Bildlaufleisten einbaust, kommen die ersten Problemchen auf. Jedenfalls nach meiner Erfahrung. Bei mir komme ich nämlich über winfo nicht an die tatsächliche Position der Widgets ran, ich bekomme immer Null oder eins. Da half mir bislang nur der Workaround über den Place-Manager oder das Einfügen der Widgets als Windows in einen Canvas.
Aber das ist ein weites Feld. Wenn also noch Fragen aufkommen, lass uns unsere Erfahrung mit Dir teilen.

Grüße,
der Michel
Diese Nachricht zersört sich in 5 Sekunden selbst ...
- Michael Schneider
- User
- Beiträge: 569
- Registriert: Samstag 8. April 2006, 12:31
- Wohnort: Brandenburg
Hi,pktm hat geschrieben:Na gibt es denn kein Tabellen-Widget? Sowas wo man Zeilen und Spalten angibt?
soviel ich weiß nein. Ich wollte aber generell mal ein kleines, allgemeines Tabellenwidget schreiben. Da es der Allgemeinheit nutzen soll, würde ich mal einen Thread zum Sammeln der Requirements starten.

Schau doch mal, ob Du aus meinem überflächlich dahingetippten Ansatz etwas machen kannst (oben):
http://www.python-forum.de/topic-11010.html?highlight=
Kurz zur Erläuterung:
Diese Tabelle wird einmal erzeugt. Dazu ist momentan die Liste der Schlüssel vorgegeben, was den Spaltenköpfen entspricht. Ändere die Klasse am besten so ab, dass sie die Liste der Schlüssel (entspr. Spaltenköpfen) als Argument bekommt. Die Anzahl der Zeilen wird durch die Anzahl der Elemente von Attribut lInhalt bestimmt. Diese Elemente sind Dictionaries, die als Schlüssel ein Element von Tabelle.lKeys enthalten (gibt die Spalte an) und als Wert den Tabellenwert.
Einmal erzeugt bleibt die Tabelle vom Aufbau her wie sie ist (obwohl die Spaltenbreite noch variieren kann). Mit Tabelle.update_table() kannst Du dann eine aktualisiere oder andere Liste von Dictionaries übergeben, um die Werte zu ändern. So braucht Du die Werte nur in den Dictionaries zu ändern oder Datensätze entfernen oder hinzufügen. ACHTUNG: es dürfen nicht mehr Dictionaries in der Liste sein, als bei der Initialisierung -> diese Ausnahme müsste noch abgefangen werden.
Ich weiß, es gibt da noch viel zutun. Ist nur eine Übergangslösung.
Grüße,
Michael
Diese Nachricht zersört sich in 5 Sekunden selbst ...
-
- User
- Beiträge: 128
- Registriert: Freitag 22. Oktober 2004, 09:22
- Wohnort: Salzgitter
- Kontaktdaten:
Für Tkinter jedenfalls nicht im Standardpaket.pktm hat geschrieben:Na gibt es denn kein Tabellen-Widget? Sowas wo man Zeilen und Spalten angibt?
I am not part of the allesburner. I am the [url=http://allesburner.de]allesburner[/url].
- Michael Schneider
- User
- Beiträge: 569
- Registriert: Samstag 8. April 2006, 12:31
- Wohnort: Brandenburg
Sieht mir nicht nach Standard Tkinter Paket aus...
Diese Nachricht zersört sich in 5 Sekunden selbst ...
Michael Schneider hat geschrieben:Sieht mir nicht nach Standard Tkinter Paket aus...
Na und? Was Du vorhast, auch nicht.
- Michael Schneider
- User
- Beiträge: 569
- Registriert: Samstag 8. April 2006, 12:31
- Wohnort: Brandenburg
Habe ich das behauptet?? Du hast behauptet, dass es das Widget im Standardpaket gibt (siehe oben), nachdem Redprince schrieb:hwm hat geschrieben:Michael Schneider hat geschrieben:Sieht mir nicht nach Standard Tkinter Paket aus...
Na und? Was Du vorhast, auch nicht.
Vielleicht ist das ein Missverständnis und Du meintest ein voriges Posting, dann solltest Du das aber auch schreiben.Für Tkinter jedenfalls nicht im Standardpaket.
Man hat Dir schon im anderen Thread geantwortet, dass man dafür ein extra Tcl-Paket installieren muss, ob das so ist kann ich nicht beurteilen. Ich kann das bei mir auf Arbeit nicht, und brauche trotzdem ein Tabellenwidget. Außerdem haben wir dann auch die Urheberrechte. Dashalb hat "mein" Projekt jede Existenzberechtigung.
Grüße,
Michael
Diese Nachricht zersört sich in 5 Sekunden selbst ...
Also ich musste nichts extra installieren, wenn auch die Installation von Tktable hakelig ist. Wenn ich mich recht entsinne, war das Installationsscript fehlerhaft und ich musste es von Hand korrigieren.
Ansonsten bin ich ja bei Dir, ich hätte auch gerne ein Tabellenwidget in Python geschrieben (Tktable ist in C!), welches man sich dann bei Bedarf auch leicht anpassen kann. Also macht mal schön!
Ansonsten bin ich ja bei Dir, ich hätte auch gerne ein Tabellenwidget in Python geschrieben (Tktable ist in C!), welches man sich dann bei Bedarf auch leicht anpassen kann. Also macht mal schön!
- Michael Schneider
- User
- Beiträge: 569
- Registriert: Samstag 8. April 2006, 12:31
- Wohnort: Brandenburg
Hi hwm,
ich denke, ich habe Deinen Bezug tatsächlich fehlinterpretiert, sorry.
Bei mir auf der Arbeit wird HP-UX eingesetzt und ich gehe davon aus, dass das Modul speziell dafür kompiliert sein muss. Und kompilierte Software kommt da nur sehr schwer ins Haus.
Grüße,
Michael
ich denke, ich habe Deinen Bezug tatsächlich fehlinterpretiert, sorry.
Bei mir auf der Arbeit wird HP-UX eingesetzt und ich gehe davon aus, dass das Modul speziell dafür kompiliert sein muss. Und kompilierte Software kommt da nur sehr schwer ins Haus.
Grüße,
Michael
Diese Nachricht zersört sich in 5 Sekunden selbst ...