QtAlchemy

Screenshot der Software:
QtAlchemy
Softwarebeschreibung:
Version: 0.8.3
Upload-Datum: 20 Feb 15
Entwickler: Joel B. Mohler
Lizenz: Frei
Popularität: 38

Rating: 2.0/5 (Total Votes: 1)

QtAlchemy ist eine Sammlung von Qt Model-View-Klassen und Hilfsfunktionen, um eine schnelle Entwicklung von Desktop-Datenbank-Anwendungen zu unterstützen. & Nbsp; Ziel ist es, eine starke API zur Belichtung Fremdschlüsselbeziehungen in einer eleganten und unmittelbaren Möglichkeiten für den Benutzer von Anwendungen . Kontextmenüs, Durchsuchungen und Combo-Boxen und Tabbed Schnittstellen werden alle genutzt. Die Verwendung von SQLAlchemy macht es möglich, dass diese Funktionen sind auf einer Vielzahl von Datenbank-Backends praktisch ohne Änderungen am Code unterstützt.
Das Command-Klasse gibt einen Weg, um Menüs und Symbolleisten von dekoriert Python-Funktionen zu konstruieren. Die Kraft dieser wird deutlich, wenn auf eine Ansicht, in der die Befehlsfunktion kann dann erhalten die Kennung des ausgewählten Elements der Ansicht gebunden. Dies bietet eine flexible Möglichkeit, Befehle an alle sqlalchemy Abfrage generiert Ansichten zu verknüpfen.
Die vollständige Dokumentation ist http://qtalchemy.org erhältlich.
QtAlchemy mit Python 2.6.x, 0.6.x und SQLAlchemy PyQt 4.7.x. entwickelt Es wird erwartet, dass es funktional sein auf allen Versionen der Nähe. Es ist ein Versuch gemacht, um sicherzustellen, dass Feature-Parität für Windows und Linux erreicht (und Mac auch, aber ich habe nicht ein).
QtAlchemy wird voraussichtlich vollständig PySide arbeiten ab Version 1.0.4. PySide Unterstützung kann durch Ausführen des use_pyside.sh Shell-Skript, das ändert nur die Importe aus PyQt4 zu PySide aktiviert sein.
Beispiel
Im Interesse des Seins prägnant, hat der hier gegebenen Beispiel nicht verweisen auf eine Datenbank.
QtAlchemy mit API2 von PyQt so müssen wir, dass Sie vor dem Import PyQt4 aktivieren
& Nbsp; >>> import Schluck
& Nbsp; >>> sip.setapi ('QString', 2)
& Nbsp; >>> sip.setapi ('QVariant', 2)
Die UserAttr Festigkeitsklasse bietet noch eine andere Art definiert python Eigentum. Der Zweck neu zu erfinden war, um sicherzustellen, dass wir mit unseren Modellen ausreichend interagieren und die ein einheitliches Erlebnis für SQLAlchemy Spalteneigenschaften und UserAttr Eigenschaften.
& Nbsp; >>> von qtalchemy Import UserAttr
& Nbsp; >>> import datetime
& Nbsp; >>> class Person (Objekt):
& Nbsp; ... name = UserAttr (str, "Name")
& Nbsp; ... birth_date = UserAttr (datetime.date "Geburtsdatum")
& Nbsp; ... age = UserAttr (int, "Alter (Tage)", Readonly = True)
& Nbsp; ...
& Nbsp; ... @ age.on_get
& Nbsp; ... def age_getter (Selbst-):
& Nbsp; ... return (datetime.date.today () - self.birth_date) .days
Mit dieser Erklärung können wir eine Person zu erklären und berechnen deren Alter:
& Nbsp; >>> me = Person ()
& Nbsp; >>> me.name = "Joel"
& Nbsp; >>> me.birth_date = datetime.date (1979,1,9)
& Nbsp; >>> me.age #depends heute! - #doctest: + SKIP
& Nbsp; 11.746
& Nbsp; >>> me.age- (datetime.date.today () - datetime.date (2011,1,9)) Tagen # auf Geburtstags 1> aus PyQt4 Import QtCore, QtGui.
& Nbsp; >>> von qtalchemy Import MapperMixin, LayoutLayout, ButtonBoxButton, LayoutWidget
& Nbsp; >>>
& Nbsp; >>> Klasse PersonEdit (QtGui.QDialog, MapperMixin):
& Nbsp; ... def init __ (self, parent, Person):
& Nbsp; ... QtGui.QDialog .__ init __ (self, parent)
& Nbsp; ... MapperMixin .__ init __ (self)
& Nbsp; ...
& Nbsp; ... self.person = Person
& Nbsp; ...
& Nbsp; ... vbox = QtGui.QVBoxLayout (Selbst-)
& Nbsp; ... mm = self.mapClass (Person)
& Nbsp; ... mm.addBoundForm (vbox, ["name", "birth_date"])
& Nbsp; ... mm.connect_instance (self.person)
& Nbsp; ...
& Nbsp; ... buttons = LayoutWidget (vbox, QtGui.QDialogButtonBox ())
& Nbsp; ... self.close_button = ButtonBoxButton (Buttons, QtGui.QDialogButtonBox.Ok)
& Nbsp; ... buttons.accepted.connect (self.btnClose)
& Nbsp; ...
& Nbsp; ... def btnClose (Selbst-):
& Nbsp; ... self.submit () # Änderungen Abstieg auf Fokuswechsel zu modellieren; sicherzustellen, erhalten den aktuellen Fokus
& Nbsp; ... self.close ()
Und jetzt brauchen wir nur einige App-Code, um tatsächlich zu treten diese aus
& Nbsp; >>> app = QtGui.QApplication ([])
& Nbsp; >>> sam = Person ()
& Nbsp; >>> sam.name = "Samuel"
& Nbsp; >>> d = PersonEdit (None, sam)
& Nbsp; >>> d.exec_ () # GUI-Interaktion - #doctest: + SKIP
& Nbsp; 0
& Nbsp; >>> sam.age # übernimmt Auswahl der gestern in der GUI - #doctest: + SKIP
& Nbsp; 1
Entwicklung
QtAlchemy noch in schweren Kernentwicklung so weit wie meine Arbeitszeit ermöglicht. Die Dokumentation wird wachsen, wie die Ideen konkretisiert und ich lerne sphinx für die allgemeine Dokumentationserstellung. Wir streben nach voller doc-Testabdeckung wie möglich, aber PyQt Model-View und gui bestimmte Komplikationen auf doc-Tests einzuführen.
Meine Erwartungen für 0,7 dies auch weiterhin zu erhöhen Ich gab, um ein Release 0.6.10 unter dem neuen Namen der qtalchemy. Dieses ist mit einem brandneuen (und nicht wirklich fertig) Webseite http://qtalchemy.org gepaart. Vor einer 0,7 Mitteilung, Mein Ziel haben:
- Dokument InputYoke Auswahl
- PBMdiTable und PBSearchDialog Umzug in qtalchemy.ext

Was ist neu in dieser Pressemitteilung:

  • Python 3 Unterstützung! Kein 2to3 oder andere Fallstricke.
  • SQLAlchemy 0.9x Kompatibilitätsfixes

Was ist neu in Version 0.8.0:

  • Wechseln Sie PySide als Standard Importe
  • Relax Lizenz GPL LGPL
  • Erhöhen Joch Änderung Handhabung
  • Neue PopupKeyListing für Fremdschlüsseleintrag

Was ist neu in Version 0.7.1:

  • QueryDataView gewonnen grundlegende Fähigkeit, auf Spaltenkopf klickt erneut abzufragen zum Sortieren
  • ein paar Fixes doc
  • neuen Hilfsfunktion Familie für die Verwendung von Geraldo in qtalchemy.ext.reporttools

Was ist neu in Version 0.7.0:

  • verbesserte Ausnahme Fehlerbehandlung und Reporting für GUI-Anwendungen mit -out Konsole
  • neue Joch Unterstützung ein Kombinationsfeld
  • Verbesserung Joch Dokumentation
  • Add komplette Beispiele vor Dokumentation
  • verschiedenen Modell / Liste Verbesserungen, einschließlich Spaltenbreite säumigen

Was ist neu in Version 0.6.12:

  • BoundCommandMenu hat Steckplätze, von html Bindungseinheit versendet werden Befehle in HTML Sichtformen
  • Laden und Speichern von strukturierten Erweiterung des Rahmens in BoundDialog
  • neue TreeView Freilegung der QTreeView
  • Baummodell-Unterstützung in PBTableModel
  • verbesserte PySide Portabilität und Fest verschiedenen Crash-Bugs auf, dass im Zusammenhang

Was ist neu in Version 0.6.11:

  • kontextsensitive Hilfe und Status-Tipps für die Felder
  • neue Vorbefehl / Auffrischungssignale mit CommandEvent Struktur, die den Abbruch der Umgebungs Bildschirm
  • Verbesserungen in der generischen Datenimport-Assistenten
  • Verbesserungen Tabellenansicht (Bugfixes, korrigierte Modellpflege um genauer zu sein)
  • verwenden pywin32 ShellExecute statt os.system für bessere Fenster Support

Was ist neu in Version 0.6.10:

  • umbenannt qtalchemy
  • ausgesetzt Vereinigung von Icons von Qt mit Befehlen in Menüs und Symbolleisten erscheinen
  • bewegt qtalchemy.PBTable zu qtalchemy.widgets.TableView
  • neue qtalchemy.ext Modul für Standarddialogfelder (ein Datenimport-Assistenten für jetzt) ​​

Anforderungen :

  • Python

Ähnliche Software

Yoyo-migrations
Yoyo-migrations

14 Apr 15

dbkit
dbkit

20 Feb 15

ssqlfs
ssqlfs

11 May 15

Andere Software von Entwickler Joel B. Mohler

PyHacc
PyHacc

14 Apr 15

Kommentare zu QtAlchemy

Kommentare nicht gefunden
Kommentar hinzufügen
Schalten Sie auf die Bilder!