Python QT Tabelle via Model/View erstellen
lima-city → Forum → Programmiersprachen → Python
aktualisieren
button
code
datenbank
datum
dokumentation
http
import
lauten code
liste
modeln
problem
projekt
setzen
show
spalten
tab
tabelle
versuchen
zeile
-
Hallo,
Ich bin ein ziemlicher Anfänger mit Python, und erst recht mir PyQT.
Allerdings hab ich jetzt hier ein Projekt, und von dem was ich über Model/View gelesen habe, sollte das eigentlich eine bessere Wahl sein, als die andere Tabellen-Lösung.
Hier erstmal meine Lage:
Ich habe ein Programm das Ascii-Tabellen in eine SQLite-Datenbank schreibt.
Die GUI Sieht wiefolgt aus:
Hauptfenster ->TAB-Widget ---|->Tab 1: ---|---|->Ein Scroll-Widget, in welchem für jede vorhandene Spalte eine Checkbox mit deren Namen angezeigt wird. ---|---|->Eine Text-Zeile mit dem letzten Aktualisierungsdatum, mit einem Button 'Jetzt Aktualisieren' bei welcher neue Ascii- Tabellen eingelesen werden ---|---|->2 DateTime-Edits für Startdatum und Enddatum der Abfrage ---|---|-> Ein Button: OK!, bei welchem für jede Aktivierte Checkbox ein Listenelement einer Liste auf 'True' gesetzt wird, und die Daten in entsprechende Variablen gespeichert werden ---|->Tab2: ---|---|->Hier soll die Tabelle Angezeigt werden. Die Daten davon sollen aus der Datenbank ausgelesen werden. Es sollen die Spalten ausgelesen werden, welche in der Liste als True gekenzeichnet sind, und die Zeilen, deren Timestamp in der ersten Zeile zwischen dem gewählten Start und Enddatum liegen.
Mein Problem:
Ich programiere in keinsterweise Objektorientiert.
Das heißt - abgesehen von wenigen Funktionen (die auch alle direkt im Hauptprogramm definiert werden) verwende ich nichts selbstdefiniertes. Ich schreibe meinen Code einfach Zeile für Zeile hintereinander.
Diese Art ist mit den üblichen Tutorials (und dem Buch: Rapid QUI Programming with Python and Qt) nicht kompatibel.
Mit der riesigen Auswahl an Klassen von Qt (http://www.riverbankcomputing.com/static/Docs/PyQt4/html/classes.html) bin ich leider auch etwas überfordert, und auch etwas mit der Dokumentation derer...
Darum bitte ich jetzt hier um Hilfe:
Wie kann ich zu einem Ergebnis kommen, ohne meinen ganzen Code mühsam in Objekte zu pressen?
Ich fürchte nämlich, das wenn ich das versuche, statt der gewünschten Kugel ich nur ein Würfel zusammen setzen kann, oder Monate brauche...
#########EDIT##########
Versuche gerade mit QSql und dem Kram ein QSqlTableModel zu erstellen.
Wie sage ich dem denn überhaupt, welche Datenbank er öffnen soll?
Wenn ich das Beispielprogramm das bei der Dokumentation auf riverbankcomputing angegeben ist,
nach Python übersetze, dann müsste das doch etwa so lauten:
from PyQt4 import QtSql from PyQt4 import QtGui from PyQt4 import QtCore import sys app = QtCore.QApplication(sys.argv) model = QtSql.QSqlTableModel() model.setTable('employee') model.setEditStrategy(QtSql.QSqlTableModel.OnManualSubmit) model.select() model.removeColumn(0) # Don't show the ID model.setHeaderdata(0, ...???) view = QtGui.QTableView() view.setModel(model) view.show() app.exec_()
Wo wird da die Datenbank festgelegt, aus der die Daten ausgelesen werden sollen?
EDIT 2:
http://www.python-forum.de/viewtopic.php?p=149033&sid=eff9212c05a7a8984f400783e231d511
2. Antwort von franzf hat mir geholfen. Problem ist also nichtmehr akut...
Den rest sollte ich hinbekommen.
Beitrag zuletzt geändert: 18.12.2009 10:06:25 von frodo89 -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage