QtAlchemy

Sagteware kiekie:
QtAlchemy
Sagteware besonderhede:
Weergawe: 0.8.3
Upload datum: 20 Feb 15
Ontwikkelaar: Joel B. Mohler
Lisensie: Gratis
Populariteit: 38

Rating: 2.0/5 (Total Votes: 1)

QtAlchemy is 'n versameling van Qt Model-View klasse en helper funksies om te help met die snelle ontwikkeling van die lessenaar databasis aansoeke & nbsp;. Dit het ten doel om 'n sterk API voorsiening te maak vir die blootstelling van vreemde sleutel verhoudings in 'n elegante en onmiddellike maniere om die gebruiker van aansoeke . Konteks's, navrae en combo-bokse en opgevolg koppelvlakke word al gebruik. Die gebruik van SQLAlchemy maak dit moontlik dat hierdie funksies word ondersteun op 'n verskeidenheid van die databasis back ends met feitlik geen kode verander.
Die Command klas gee 'n manier spyskaarte en nutsbalke te bou uit versier luislang funksies. Die krag van hierdie word meer duidelik wanneer gebind na 'n beskouing waar die bevel funksie dan kan ontvang die identifikasie van die geselekteerde item van die oog. Dit bied 'n buigsame manier opdragte te skakel met enige sqlalchemy navraag gegenereer uitsig.
Volledige dokumentasie is beskikbaar by http://qtalchemy.org.
QtAlchemy is ontwikkel met Python 2.6.x, SQLAlchemy 0.6.x en PyQt 4.7.x. Dit word verwag dat dit funksionele op alle nabygeleë weergawes sou wees. Daar is 'n poging aangewend om seker te maak dat die funksie pariteit bereik vir Windows en Linux maak (en Mac ook, maar ek het nie een nie).
QtAlchemy sal na verwagting ten volle te werk met PySide as van weergawe 1.0.4. PySide ondersteuning kan geaktiveer word deur die loop van die use_pyside.sh dop script wat bloot die invoer van PyQt4 te PySide verander.
Voorbeeld
In die belang van wat bondige, nie die voorbeeld wat gegee word hier verwys nie na 'n databasis.
QtAlchemy behulp API2 van PyQt so ons moet dit in staat te stel voordat die invoer PyQt4
& Nbsp; >>> invoer sluk
& Nbsp; >>> sip.setapi ('QString', 2)
& Nbsp; >>> sip.setapi ('QVariant', 2)
Die UserAttr eiendom klas bied nog 'n tipe gedefinieer luislang eiendom. Die doel van herskep dit was om te verseker dat ons kan interaksie met ons modelle voldoende en 'n eenvormige ervaring vir SQLAlchemy kolom eienskappe en UserAttr eienskappe.
& Nbsp; >>> van qtalchemy invoer UserAttr
& Nbsp; >>> invoer Datum tyd
& Nbsp; >>> klas Persoon (voorwerp):
& Nbsp; ... name = UserAttr (str, "Naam")
& Nbsp; ... Birth_Date = UserAttr (datetime.date, "Birth Date")
& Nbsp; ... ouderdom = UserAttr (int, "Ouderdom (dae)", readonly = True)
& Nbsp; ...
& Nbsp; ... @ age.on_get
& Nbsp; ... def age_getter (self):
& Nbsp; ... opbrengs (datetime.date.today () - self.birth_date) .days
Met hierdie verklaring, kan ons 'n persoon verklaar en bereken hul ouderdom:
& Nbsp; >>> my = Persoon ()
& Nbsp; >>> me.name = "Joël"
& Nbsp; >>> me.birth_date = datetime.date (1979,1,9)
& Nbsp; >>> me.age #depends op vandag! - #doctest: + SKIP
& Nbsp; 11746
& Nbsp; >>> me.age- (datetime.date.today () - datetime.date (2011,1,9)) dae # op verjaarsdag 1> van PyQt4 invoer QtCore, QtGui.
& Nbsp; >>> van qtalchemy invoer MapperMixin, LayoutLayout, ButtonBoxButton, LayoutWidget
& Nbsp; >>>
& Nbsp; >>> klas PersonEdit (QtGui.QDialog, MapperMixin):
& Nbsp; ... def __init __ (self, ouer, persoon):
& Nbsp; ... QtGui.QDialog .__ init __ (self, ouer)
& Nbsp; ... MapperMixin .__ init __ (self)
& Nbsp; ...
& Nbsp; ... self.person = persoon
& Nbsp; ...
& Nbsp; ... vbox = QtGui.QVBoxLayout (self)
& Nbsp; ... mm = self.mapClass (Persoon)
& Nbsp; ... mm.addBoundForm (vbox, ["naam", "Birth_Date"])
& Nbsp; ... mm.connect_instance (self.person)
& Nbsp; ...
& Nbsp; ... knoppies = LayoutWidget (vbox, QtGui.QDialogButtonBox ())
& Nbsp; ... self.close_button = ButtonBoxButton (knoppies, QtGui.QDialogButtonBox.Ok)
& Nbsp; ... buttons.accepted.connect (self.btnClose)
& Nbsp; ...
& Nbsp; ... def btnClose (self):
& Nbsp; ... self.submit () # veranderinge neerdaal om 'n model op fokus-verandering; verseker die ontvangs van die huidige fokus
& Nbsp; ... self.close ()
En nou, ons het net 'n paar app kode om werklik skop dit af
& Nbsp; >>> app = QtGui.QApplication ([])
& Nbsp; >>> sam = Persoon ()
& Nbsp; >>> sam.name = "Samuel"
& Nbsp; >>> d = PersonEdit (Geen, Sam)
& Nbsp; >>> d.exec_ () # gui interaksie - #doctest: + NA
& Nbsp; 0
& Nbsp; >>> sam.age # aanvaar seleksie van gister in die gui - #doctest: + NA
& Nbsp; 1
Ontwikkeling
QtAlchemy is nog in swaar kern ontwikkeling soveel as my werk skedule dit toelaat. Die dokumentasie is groei as die idees word aangevul en ek leer sfinks vir die algemene dokumentasie geslag. Ons streef daarna om vir die volle doc-toets dekking as moontlik, maar PyQt model-view en gui lê sekere komplikasies op doc-toetse.
My verwagtinge vir 0.7 voortgaan om dit te verhoog het ek in 'n 0.6.10 release onder die nuwe naam van qtalchemy. Dit kom saam met 'n splinternuwe (en nie regtig klaar) webblad http://qtalchemy.org. Voordat 'n 0,7 release, ek het ten doel om 'n:
- Dokument InputYoke seleksie
- PBMdiTable en PBSearchDialog skuif na qtalchemy.ext

Wat is nuut in hierdie release:

  • Python 3 ondersteuning! Geen 2to3 of ander gotchas.
  • SQLAlchemy 0.9x verenigbaarheid fixes

Wat is nuut in die weergawe 0.8.0:

  • Verander na PySide as verstek invoer
  • Ontspan lisensie van GPL te LGPL
  • Verbeter juk verandering hanteer
  • Skep nuwe PopupKeyListing vir vreemde sleutel inskrywing

Wat is nuut in die weergawe 0.7.1:

  • QueryDataView opgedoen basiese vermoë om requery op kolomopskrif druk vir sortering
  • 'n paar doc fixes
  • nuwe helper funksie familie vir die gebruik van Geraldo in qtalchemy.ext.reporttools

Wat is nuut in die weergawe 0.7.0:

  • verbeterde uitsondering fout hantering en verslagdoening vir GUI programme met out konsole
  • nuwe juk ondersteuning van 'n combo box
  • verbeter juk dokumentasie
  • voeg volledige voorbeelde om die voorkant van dokumentasie
  • verskeie model / lys verbeterings insluitend kolomwydte gebreke

Wat is die nuwe in die weergawe 0.6.12:

  • BoundCommandMenu het slots te versend word van html bindend entiteit beveel aan HTML bekyk vorms
  • gestruktureer laai en red die uitbreiding van die raamwerk in BoundDialog
  • nuwe TREEVIEW bloot die QTreeView
  • boom model ondersteuning in PBTableModel
  • verbeter PySide port en vaste verskeie crash-foute wat verband hou met

Wat is nuut in die weergawe 0.6.11:

  • konteks-sensitiewe hulp en status wenke vir velde
  • nuwe preCommand / verfris seine met CommandEvent struktuur sodat staak deur die omringende skerm
  • verbeterings in die generiese data invoer towenaar
  • Table View verbeterings (foutherstellings, reggestel model updates om meer presies te wees)
  • gebruik pywin32 Execute plaas van os.system vir 'n beter vensters ondersteuning

Wat is nuut in die weergawe 0.6.10:

  • herdoop tot qtalchemy
  • blootgestel Qt se vereniging van ikone met opdragte verskyn in spyskaarte en nutsbalke
  • geskuif qtalchemy.PBTable te qtalchemy.widgets.TableView
  • nuwe qtalchemy.ext module vir gemeenskaplike vensters (a data invoer towenaar vir nou)

Vereistes :

  • Python

Soortgelyke sagteware

Ander sagteware ontwikkelaar Joel B. Mohler

PyHacc
PyHacc

14 Apr 15

Kommentaar te QtAlchemy

Kommentaar nie gevind
Kommentaar te lewer
Draai op die foto!