QtAlchemy

Software screenshot:
QtAlchemy
Software detaljer:
Version: 0.8.3
Upload dato: 20 Feb 15
Udvikler: Joel B. Mohler
Licens: Gratis
Popularitet: 38

Rating: 2.0/5 (Total Votes: 1)

QtAlchemy er en samling af Qt Model-View klasser og hjælperfunktioner til støtte i hurtig udvikling af desktop database applikationer. & Nbsp; Den sigter mod at skabe et stærkt API til at udsætte fremmede nøgler relationer i elegante og umiddelbare måder at brugeren af ​​ansøgninger . Kontekst menuer, søgninger og combo-bokse og tabbed grænseflader er alle udnyttet. Anvendelsen af ​​SQLAlchemy gør det muligt, at disse funktioner er understøttet på en række underliggende databaser med næsten ingen kodeændringer.
Command klassen giver en måde at konstruere menuer og værktøjslinjer fra dekorerede Python funktioner. Effekten af ​​dette bliver tydeligere, når bundet til en visning, hvor kommandoen funktionen kan så modtage identifikationen af ​​det valgte element af visningen. Dette giver en fleksibel måde at forbinde kommandoer til enhver sqlalchemy forespørgsel genererede synspunkter.
Fuld dokumentation er tilgængelig på http://qtalchemy.org.
QtAlchemy er udviklet med python 2.6.x, SQLAlchemy 0.6.x og PyQt 4.7.x. Det forventes, at det ville være funktionelt på alle nærliggende versioner. Der er en indsats for at sikre, at funktionen paritet er nået til vinduer og linux (og mac også, men jeg har ikke en).
QtAlchemy forventes fuldt arbejde med PySide fra version 1.0.4. PySide support kan aktiveres ved at køre use_pyside.sh shell script, der blot ændrer import fra PyQt4 til PySide.
Eksempel
Af hensyn til at være kortfattet, er eksemplet her ikke referere til en database.
QtAlchemy hjælp API2 af PyQt så vi er nødt til at gøre det muligt, at før importerer PyQt4
& Nbsp; >>> import tår
& Nbsp; >>> sip.setapi (»QString ', 2)
& Nbsp; >>> sip.setapi (»QVariant ', 2)
Den UserAttr ejendom klasse giver endnu en anden type defineret python ejendom. Formålet med at genopfinde dette var at sikre, at vi kan interagere med vores modeller tilstrækkeligt og giver en ensartet oplevelse for kolonne ejendomme SQLAlchemy og UserAttr egenskaber.
& Nbsp; >>> fra qtalchemy import UserAttr
& Nbsp; >>> import datetime
& Nbsp; >>> klasse person (objekt):
& Nbsp; ... name = UserAttr (str, "Navn")
& Nbsp; ... BIRTH_DATE = UserAttr (datetime.date "Fødselsdato")
& Nbsp; ... alder = UserAttr (int, "Alder (dage)", skrivebeskyttet = True)
& Nbsp; ...
& Nbsp; ... @ age.on_get
& Nbsp; ... def age_getter (selv-):
& Nbsp; ... afkast (datetime.date.today () - self.birth_date) .days
Med denne erklæring, kan vi erklære en person og beregne deres alder:
& Nbsp; >>> mig = Person ()
& Nbsp; >>> me.name = "Joel"
& Nbsp; >>> me.birth_date = datetime.date (1979,1,9)
& Nbsp; >>> me.age #depends på i dag! - #doctest: + SKIP
& Nbsp; 11746
& Nbsp; >>> me.age- (datetime.date.today () - datetime.date (2011,1,9)) dage # på fødselsdag 1> fra PyQt4 import QtCore, QtGui.
& Nbsp; >>> fra qtalchemy import MapperMixin, LayoutLayout, ButtonBoxButton, LayoutWidget
& Nbsp; >>>
& Nbsp; >>> klasse PersonEdit (QtGui.QDialog, MapperMixin):
& Nbsp; ... def __init __ (self, forælder, person):
& Nbsp; ... QtGui.QDialog .__ init __ (self, forælder)
& Nbsp; ... MapperMixin .__ init __ (selv-)
& Nbsp; ...
& Nbsp; ... self.person = person,
& Nbsp; ...
& Nbsp; ... VBOX = QtGui.QVBoxLayout (selv-)
& Nbsp; ... mm = self.mapClass (Person)
& Nbsp; ... mm.addBoundForm (VBOX, ["navn", "BIRTH_DATE"])
& Nbsp; ... mm.connect_instance (self.person)
& Nbsp; ...
& Nbsp; ... knapper = LayoutWidget (VBOX, QtGui.QDialogButtonBox ())
& Nbsp; ... self.close_button = ButtonBoxButton (knapper, QtGui.QDialogButtonBox.Ok)
& Nbsp; ... buttons.accepted.connect (self.btnClose)
& Nbsp; ...
& Nbsp; ... def btnClose (selv-):
& Nbsp; ... self.submit () # ændringer ned til model på fokus-ændringer; sikre modtage den aktuelle fokus
& Nbsp; ... self.close ()
Og nu, vi kun har brug for nogle app kode til rent faktisk at sparke denne off
& Nbsp; >>> app = QtGui.QApplication ([])
& Nbsp; >>> sam = Person ()
& Nbsp; >>> sam.name = "Samuel"
& Nbsp; >>> d = PersonEdit (Ingen, sam)
& Nbsp; >>> d.exec_ () # gui interaktion - #doctest: + SKIP
& Nbsp; 0
& Nbsp; >>> sam.age # forudsætter udvælgelse af i går i gui - #doctest: + SKIP
& Nbsp; 1
Udvikling
QtAlchemy er stadig i kraftig kerne udvikling så meget som mit arbejde tidsplan tillader. Dokumentationen vokser som de idéer konkretiseret og jeg lærer sphinx for den generelle dokumentation generation. Vi stræber efter fuld doc-test dækning som muligt, men PyQt model-view og gui pålægge visse komplikationer på doc-tests.
Mine forventninger til 0,7 fortsætte med at stige, så jeg gav efter for en 0.6.10 udgivelse under det nye navn qtalchemy. Dette kommer parret med en helt ny (og ikke rigtig færdig) webside http://qtalchemy.org. Før en 0,7 udgivelse, jeg sigter mod at have:
- Dokument InputYoke udvælgelse
- PBMdiTable og PBSearchDialog flytte til qtalchemy.ext

Hvad er nyt i denne udgivelse:

  • Python 3 støtte! Ingen 2to3 eller andre fælder.
  • SQLAlchemy 0,9x kompatibilitet rettelser

Hvad er nyt i version 0.8.0:

  • Skift til PySide som import standard
  • Slap licens fra GPL til LGPL
  • Forbedre åg forandring håndtering
  • Opret ny PopupKeyListing for fremmed nøgle indgang

Hvad er nyt i version 0.7.1:

  • QueryDataView fået grundlæggende evne til at genforespørgsel på kolonneoverskriften klik til sortering
  • et par doc rettelser
  • ny hjælpefunktion familie for at bruge Geraldo i qtalchemy.ext.reporttools

Hvad er nyt i version 0.7.0:

  • forbedret undtagelse fejlhåndtering og rapportering for GUI applikationer med udtjekning konsol
  • nyt åg understøtter et kombinationsfelt
  • forbedre åg dokumentation
  • tilføje komplette eksempler på forsiden af ​​dokumentation
  • diverse model / list forbedringer, herunder kolonnebredde misligholdende

Hvad er nyt i version 0.6.12:

  • BoundCommandMenu har slots, der skal sendes fra html bindende enhed kommandoer til html visning formularer
  • struktureret belastning og gemme udvidelse af rammerne i BoundDialog
  • ny TreeView udsætte QTreeView
  • træ model støtte PBTableModel
  • forbedret PySide portabilitet og faste diverse nedbrud-bugs relateret til det

Hvad er nyt i version 0.6.11:

  • kontekstafhængig hjælp og status tips til felter
  • ny forkommandoen / opdateringshastighed signaler med CommandEvent struktur gør det muligt at afbryde med den omgivende skærm
  • forbedringer i generiske data import guiden
  • Table View forbedringer (fejlrettelser, korrigeret model opdateringer at være mere præcis)
  • brug pywin32 ShellExecute stedet for os.system for bedre vinduer støtte

Hvad er nyt i version 0.6.10:

  • omdøbt til qtalchemy
  • udsat Qt associering af ikoner med kommandoer der findes i menuer og værktøjslinjer
  • flyttede qtalchemy.PBTable til qtalchemy.widgets.TableView
  • ny qtalchemy.ext modul til fælles dialoger (en data import guiden for nu)

Krav :

  • Python

Lignende software

OraRep
OraRep

11 May 15

Mondrian
Mondrian

2 Jun 15

jSQL Injection
jSQL Injection

20 Feb 15

Vino
Vino

20 Feb 15

Andre software developer Joel B. Mohler

PyHacc
PyHacc

14 Apr 15

Kommentarer til QtAlchemy

Kommentarer ikke fundet
Tilføj kommentar
Tænd billeder!