QtAlchemy

Screenshot Software:
QtAlchemy
Detalii soft:
Versiune: 0.8.3
Incarca data: 20 Feb 15
Producător: Joel B. Mohler
Licenţă: Gratuit
Popularitate: 38

Rating: 2.0/5 (Total Votes: 1)

QtAlchemy este o colecție de Qt Model-View clase și funcții helper pentru a ajuta la dezvoltarea rapidă a aplicațiilor de baze de date desktop & nbsp;. Acesta își propune să ofere un API puternic pentru expunerea relațiilor cheie straine in moduri elegante și imediate pentru utilizator de aplicații . Meniuri contextuale, căutări și combinate-cutii și interfețele cu file sunt toate utilizate. Utilizarea SQLAlchemy face posibil ca aceste caracteristici sunt susținute pe o varietate de baze de date backend practic fără modificări de cod.
Clasa de comandă oferă o modalitate de a construi meniuri și bare de instrumente din funcțiile Python decorate. Puterea acestei devine mai evident atunci când legat la o imagine în care funcția de comandă poate primi apoi elementul de identificare a elementului selectat de părere. Aceasta oferă un mod flexibil pentru a lega comenzi la orice opinii de interogare SQLAlchemy generate.
Documentație completă este disponibilă la http://qtalchemy.org.
QtAlchemy a fost dezvoltat cu 2.6.x python, SQLAlchemy 0.6.x și PyQt 4.7.x. Este de așteptat ca ar fi funcțional pe toate versiunile apropiere. Există un efort pentru a vă asigura că paritatea caracteristică este atins pentru Windows și Linux (și Mac prea, dar eu nu am unul).
QtAlchemy este de așteptat să lucreze pe deplin cu PySide ca versiunea 1.0.4. Sprijin PySide pot fi activate prin rularea script shell use_pyside.sh care pur și simplu schimbă importurile din PyQt4 către PySide.
Exemplul
În interesul de a fi concis, exemplul dat aici nu referire o bază de date.
QtAlchemy folosind API2 de PyQt așa că trebuie să permită ca înainte de a importa PyQt4
& Nbsp; >>> înghițitură de import
& Nbsp; >>> sip.setapi ("QString", 2)
& Nbsp; >>> sip.setapi ("QVariant", 2)
Clasa proprietate UserAttr oferă încă un alt tip definit de proprietate piton. Scopul reinventarea acest lucru a fost să ne asigurăm că ar putea interacționa cu modelele noastre suficient și să ofere o experiență uniformă pentru SQLAlchemy proprietăților coloană și proprietăți UserAttr.
& Nbsp; >>> din qtalchemy UserAttr import
& Nbsp; >>> datetime import
& Nbsp; >>> Pers clasă (obiect):
& Nbsp; ... name = UserAttr (str, "Alias")
& Nbsp; ... birth_date = UserAttr (datetime.date, "Data nașterii")
& Nbsp; ... vârstă = UserAttr (int, "Vârsta (zile)", readonly = True)
& Nbsp; ...
& Nbsp; ... @ age.on_get
& Nbsp; ... age_getter def (auto):
& Nbsp; ... retur (datetime.date.today () - self.birth_date) .days
Cu această declarație, putem declara o persoană și calculează vârsta lor:
& Nbsp; >>> mă = Persoana ()
& Nbsp; >>> me.name = "Joel"
& Nbsp; >>> me.birth_date = datetime.date (1979,1,9)
& Nbsp; >>> #depends me.age pe ziua de azi! - #doctest: + SKIP
& Nbsp; 11746
& Nbsp; >>> me.age- (datetime.date.today () - datetime.date (2011,1,9)) zile # la ziua 1> din PyQt4 import QtCore, QtGui.
& Nbsp; >>> din MapperMixin import qtalchemy, LayoutLayout, ButtonBoxButton, LayoutWidget
& Nbsp; >>>
& Nbsp; >>> clasă PersonEdit (QtGui.QDialog, MapperMixin):
& Nbsp; ... def automat metodei __init __ (self, părinte, persoana):
& Nbsp; ... QtGui.QDialog .__ init __ (self, părinte)
& Nbsp; ... MapperMixin .__ init __ (self)
& Nbsp; ...
& Nbsp; ... self.person = persoană
& Nbsp; ...
& Nbsp; ... vbox = QtGui.QVBoxLayout (auto)
& Nbsp; ... mm = self.mapClass (Persoana)
& Nbsp; ... mm.addBoundForm (vbox, ["nume", "birth_date"])
& Nbsp; ... mm.connect_instance (self.person)
& Nbsp; ...
& Nbsp; ... butoane = LayoutWidget (vbox, QtGui.QDialogButtonBox ())
& Nbsp; ... self.close_button = ButtonBoxButton (butoane, QtGui.QDialogButtonBox.Ok)
& Nbsp; ... buttons.accepted.connect (self.btnClose)
& Nbsp; ...
& Nbsp; ... def btnClose (auto):
& Nbsp; ... self.submit () # modificări coborî la modelul pe focus-schimbare; asigura primirea focalizarea actuală
& Nbsp; ... self.close ()
Și, acum, avem nevoie doar de un cod aplicație pentru a lovi cu piciorul acest fapt off
& Nbsp; >>> app = QtGui.QApplication ([])
& Nbsp; >>> sam = Persoana ()
& Nbsp; >>> sam.name = "Samuel"
& Nbsp; >>> d = PersonEdit (Fără specialitate, Sam)
& Nbsp; >>> d.exec_ () # gui interacțiune - #doctest: + SKIP
& Nbsp; 0
& Nbsp; >>> sam.age # își asumă selecție de ieri, în GUI - #doctest: + SKIP
& Nbsp; 1
Dezvoltare
QtAlchemy este încă în dezvoltare miez greu la fel de mult ca și programul meu de lucru permite. Documentația este în creștere ca ideile sunt completate și am învățat sfinx pentru generația generală documentare. Ne străduim pentru acoperirea doc test complet posibil, dar PyQt Model-View și gui impun anumite complicații pe doc-teste.
Așteptările mele de 0,7 continuă să crească, așa că am dat într-un comunicat de 0.6.10 sub noul nume de qtalchemy. Acest lucru vine asociat cu un brand nou (și nu într-adevăr terminat) pagina web http://qtalchemy.org. Înainte de o eliberare de 0,7, am scopul de a avea:
- Document de selecție InputYoke
- PBMdiTable și PBSearchDialog muta la qtalchemy.ext

Ce este nou în această versiune:

  • Python 3 sprijin! Nu 2to3 sau alte chestii.
  • remedieri de compatibilitate SQLAlchemy 0.9x

Ce este nou în versiunea 0.8.0:

  • Schimbare la PySide ca importuri implicite
  • Relax licență de la GPL la LGPL
  • Îmbunătățirea schimbare jugul de manipulare
  • Create new PopupKeyListing pentru intrare cheie externă

Ce este nou în versiunea 0.7.1:

  • QueryDataView câștigat capacitatea de bază de a reinterogare pe coloana clicuri antet pentru sortarea

  • Stabilește
  • un doc câteva
  • noua familie functie helper pentru utilizarea Geraldo în qtalchemy.ext.reporttools

Ce este nou în versiunea 0.7.0:

  • îmbunătățită eroare de manipulare excepție și raportare pentru aplicații GUI cu consolă -out privat
  • nou sprijin al jugului o casetă combo
  • îmbunătăți documentare jugul
  • adăuga exemple complete de la fața documentației
  • diferite modele / Lista îmbunătățiri, inclusiv lățime coloană de default

Ce este nou în versiunea 0.6.12:

  • BoundCommandMenu a sloturi să fie expediat din html entitate obligatoriu comenzi html vizualizarea formelor
  • sarcină structurată și salva extinderea cadrului în BoundDialog
  • nou TreeView expunerea QTreeView
  • sprijin modelul copac în PBTableModel
  • îmbunătățit portabilitate PySide și diverse crash-bug-uri fixe legate de faptul că

Ce este nou în versiunea 0.6.11:

  • context de ajutor și de stare sensibil sfaturi pentru domenii

  • Semnalele
  • nou preCommand / refresh cu structura CommandEvent permit întreruperea de către ecranul înconjurător
  • îmbunătățiri în asistentul de generic de import de date
  • vezi tabel îmbunătățiri (bug fixat, actualizări de model corectate pentru a fi mai precis)
  • utilizare pywin32 ShellExecute în loc de os.system pentru sprijin mai bine ferestre

Ce este nou în versiunea 0.6.10:

  • redenumit la qtalchemy
  • expus asociere Qt de icoane cu comenzi care apar în meniuri și bare de instrumente
  • mutat qtalchemy.PBTable la qtalchemy.widgets.TableView
  • nou modul qtalchemy.ext pentru dialoguri comune (un asistent de import de date pentru acum)

Cerințe :

  • Python

Software similare

PythonReports
PythonReports

11 May 15

DTGen
DTGen

20 Feb 15

PgAdmin III
PgAdmin III

17 Feb 15

Alte software-uri de dezvoltator Joel B. Mohler

PyHacc
PyHacc

14 Apr 15

Comentarii la QtAlchemy

Comentariile nu a fost găsit
Adauga comentarii
Porniţi pe imagini!