QtAlchemy

Logiciel capture d'écran:
QtAlchemy
Détails logiciels:
Version: 0.8.3
Date de transfert: 20 Feb 15
Développeur: Joel B. Mohler
Licence: Gratuit
Popularité: 38

Rating: 2.0/5 (Total Votes: 1)

QtAlchemy est une collection de Qt Modèle-Vue classes et fonctions d'assistance pour aider à développer rapidement des applications de base de données de bureau & nbsp;. Il vise à fournir une API forte pour exposer relations de clé étrangère façons élégantes et immédiats à l'utilisateur d'applications . Les menus contextuels, recherches et listes déroulantes et les interfaces à onglets sont tous utilisés. L'utilisation de SQLAlchemy permet que ces caractéristiques sont supportés sur une variété de backends de base de données avec pratiquement aucune modification de code.
La classe Command donne un moyen de construire des menus et barres d'outils des fonctions de python décorées. La puissance de cette devient plus évidente lorsqu'il est lié à un affichage dans lequel la fonction de commande peut alors recevoir l'identificateur de l'élément sélectionné de la vue. Cela fournit un moyen flexible pour relier des commandes à tout point de vue sqlalchemy requête générés.
Une documentation complète est disponible à http://qtalchemy.org.
QtAlchemy a été développé avec Python 2.6.x, 0.6.x et PyQt SQLAlchemy 4.7.x. Il est prévu que ce serait fonctionnelle sur toutes les versions voisines. Il est un effort pour se assurer que la parité est atteinte fonctionnalité pour Windows et Linux (et mac aussi, mais je ne ai pas une).
QtAlchemy devrait travailler pleinement avec PySide partir de la version 1.0.4. PySide soutien peut être activé en exécutant le script shell de use_pyside.sh qui change simplement les importations en provenance de PyQt4 à PySide.
Exemple
Dans un souci de concision, l'exemple donné ici ne fait pas référence une base de données.
QtAlchemy utilisant API2 de PyQt donc nous avons besoin pour permettre à cette avant d'importer PyQt4
& Nbsp; >>> gorgée d'importation
& Nbsp; >>> sip.setapi ('QString', 2)
& Nbsp; >>> sip.setapi ('QVariant', 2)
La catégorie des biens userattr fournit encore un autre type défini la propriété de python. Le but de réinventer ce était de se assurer que nous pourrions interagir avec nos modèles suffisamment et offrir une expérience uniforme pour SQLAlchemy propriétés de colonne et propriétés userattr.
& Nbsp; >>> from qtalchemy importation userattr
& Nbsp; >>> import datetime
& Nbsp; >>> classe Personne (objet):
& Nbsp; ... name = userattr (str, "Nom")
& Nbsp; ... birth_date = userattr (datetime.date, "Date de naissance")
& Nbsp; ... age = userattr (int, "Age (jours)", en lecture seule = True)
& Nbsp; ...
& Nbsp; ... @ age.on_get
& Nbsp; ... age_getter def (auto):
& Nbsp; ... retour (datetime.date.today () - self.birth_date) .jours
Avec cette déclaration, nous pouvons déclarer une personne et de calculer leur âge:
& Nbsp; >>> me = Personne ()
& Nbsp; >>> me.name = "Joel"
& Nbsp; >>> me.birth_date = datetime.date (1979,1,9)
& Nbsp; >>> #depends de me.age sur aujourd'hui! - #doctest: + SKIP
& Nbsp; 11 746
& Nbsp; >>> me.age- (datetime.date.today () - datetime.date (2011,1,9)) jour # 1 sur anniversaire> de PyQt4 importation QtCore, QtGui.
& Nbsp; >>> from MapperMixin d'importation de qtalchemy, LayoutLayout, ButtonBoxButton, LayoutWidget
& Nbsp; >>>
& Nbsp; >>> PersonEdit de classe (QtGui.QDialog, MapperMixin):
& Nbsp; ... def __init __ (self, parent, personne):
& Nbsp; ... QtGui.QDialog .__ init __ (self, parent)
& Nbsp; ... MapperMixin .__ init __ (self)
& Nbsp; ...
& Nbsp; ... self.person = personne
& Nbsp; ...
& Nbsp; ... vbox = QtGui.QVBoxLayout (auto)
& Nbsp; ... mm = self.mapClass (personne)
& Nbsp; ... mm.addBoundForm (vbox, ["nom", "birth_date"])
& Nbsp; ... mm.connect_instance (self.person)
& Nbsp; ...
& Nbsp; ... touches = LayoutWidget (vbox, QtGui.QDialogButtonBox ())
& Nbsp; ... self.close_button = ButtonBoxButton (boutons, QtGui.QDialogButtonBox.Ok)
& Nbsp; ... buttons.accepted.connect (self.btnClose)
& Nbsp; ...
& Nbsp; ... def btnClose (auto):
& Nbsp; ... self.submit () # changements descendent pour modéliser le changement de mise au point; assurer la réception de la focalisation actuelle
& Nbsp; ... self.close ()
Et, maintenant, nous avons seulement besoin du code de l'application pour lancer effectivement cette off
& Nbsp; >>> app = QtGui.QApplication ([])
& Nbsp; >>> sam = Personne ()
& Nbsp; >>> sam.name = "Samuel"
& Nbsp; d = >>> PersonEdit (Aucun, sam)
& Nbsp; >>> d.exec_ () # gui interaction - #doctest: + SKIP
& Nbsp; 0
& Nbsp; >>> sam.age # assume sélection d'hier dans le gui - #doctest: + SKIP
& Nbsp; 1
Développement
QtAlchemy est encore en développement de noyaux lourds autant que mon horaire de travail le permet. La documentation est en croissance que les idées sont étoffés et je apprends sphinx pour la génération de documentation générale. Nous nous efforçons pour la couverture doc-test complet que possible, mais PyQt modèle-vue et gui imposons certaines complications sur doc-tests.
Mes attentes pour 0,7 continuent d'augmenter alors je ai laissé dans un communiqué 0.6.10 sous le nouveau nom de qtalchemy. Ce est jumelé avec un tout nouveau (et pas vraiment fini) page Web http://qtalchemy.org. Avant une version 0.7, je viser à avoir:
- Document sélection InputYoke
- PBMdiTable et déplacer PBSearchDialog à qtalchemy.ext

Quoi de neuf dans cette version:

  • Python 3 soutien! Aucune 2to3 ou d'autres pièges.
  • correctifs de compatibilité SQLAlchemy 0.9x

Ce qui est nouveau dans la version 0.8.0:

  • Changer pour PySide que les importations par défaut
  • Relax licence de GPL LGPL
  • Améliorer changement joug manipulation
  • Créer un nouveau PopupKeyListing pour l'entrée de clé étrangère

Ce qui est nouveau dans la version 0.7.1:

  • QueryDataView gagné capacité de base pour actualiser le-têtes de colonne clics pour le tri

  • Correctifs
  • quelques doc
  • nouvelle famille de fonction d'assistance pour l'utilisation de Geraldo dans qtalchemy.ext.reporttools

Ce qui est nouveau dans la version 0.7.0:

  • amélioration de la gestion des erreurs d'exception et de rapports pour les applications d'interface graphique avec console départ privé
  • nouveau joug supportant une zone de liste déroulante
  • améliorer la documentation de joug
  • ajouter exemples complets à l'avant de la documentation
  • différents modèles / améliorations de la liste, y compris la largeur de colonne défaillante

Ce qui est nouveau dans la version 0.6.12:

  • BoundCommandMenu a fentes pour être expédiés à partir html entité de liaison commandes à affichage HTML de formes
  • charge structurée et économisez étendant le cadre dans BoundDialog
  • TreeView nouvelle exposition de la QTreeView
  • le soutien de modèle d'arbre dans PBTableModel
  • amélioration de la portabilité PySide et divers crash-bogues fixes liés à cette

Ce qui est nouveau dans la version 0.6.11:

  • aide contextuelle et le statut des conseils pour les champs

  • Signaux
  • nouvelle précommande / rafraîchissement avec une structure permettant CommandEvent avorter par l'écran ambiante
  • Amélioration de l'assistant d'importation de données génériques
  • vue de table améliorations (corrections de bugs, des mises à jour de modèles corrigés pour être plus précis)
  • l'utilisation pywin32 ShellExecute lieu de os.system pour un meilleur support des fenêtres

Ce qui est nouveau dans la version 0.6.10:

  • renommé qtalchemy
  • exposée association de Qt d'icônes avec des commandes qui apparaissent dans les menus et barres d'outils
  • déplacé qtalchemy.PBTable à qtalchemy.widgets.TableView
  • nouveau module de qtalchemy.ext pour les dialogues communs (un assistant d'importation de données pour le moment)

Exigences :

  • Python

Logiciel similaire

DbWrench
DbWrench

17 Jul 15

RedQueryBuilder
RedQueryBuilder

28 Sep 15

BBQSQL
BBQSQL

20 Feb 15

dbkit
dbkit

20 Feb 15

D'autres logiciels de développeur Joel B. Mohler

PyHacc
PyHacc

14 Apr 15

Commentaires à QtAlchemy

Commentaires non trouvées
Ajouter un commentaire
Tourner sur les images!