QtAlchemy

Software captura de pantalla:
QtAlchemy
Detalles de software:
Versión: 0.8.3
Fecha de carga: 20 Feb 15
Promotor: Joel B. Mohler
Licencia: Libre
Popularidad: 150

Rating: 2.0/5 (Total Votes: 1)

QtAlchemy es una colección de Qt Model-View clases y funciones de ayuda para ayudar en el rápido desarrollo de aplicaciones de bases de datos de escritorio. & Nbsp; Su objetivo es proporcionar una sólida API para exponer relaciones de clave externa en formas elegantes e inmediatas para el usuario de las aplicaciones . Los menús contextuales, búsquedas y cuadros combinados y las interfaces con pestañas están utilizados. El uso de SQLAlchemy hace posible que estas características son compatibles con una variedad de bases de datos backends prácticamente sin cambios en el código.
La clase Comando da una manera de construir menús y barras de herramientas de funciones python decoradas. El poder de este se hace más evidente cuando se une a una vista en donde la función de comando puede entonces recibir el identificador del elemento seleccionado de la vista. Esto proporciona una forma flexible para enlazar comandos para las vistas de consulta sqlalchemy generados.
La documentación completa se encuentra disponible en http://qtalchemy.org.
QtAlchemy ha sido desarrollado con 2.6.x pitón, SQLAlchemy 0.6.x y PyQt 4.7.x. Se espera que sería funcional en todas las versiones cercanas. Hay un esfuerzo para asegurarse de que la paridad característica se logra para Windows y Linux (y mac también, pero yo no tengo uno).
Se espera QtAlchemy trabajar plenamente con PySide partir de la versión 1.0.4. Apoyo PySide se puede activar mediante la ejecución del script de shell use_pyside.sh que simplemente cambia las importaciones de PyQt4 a PySide.
Ejemplo
En aras de ser conciso, el ejemplo dado aquí no hace referencia a una base de datos.
QtAlchemy usando API2 de PyQt por lo que necesitamos para permitir que antes de importar PyQt4
& Nbsp; >>> sorbo de importación
& Nbsp; >>> sip.setapi ('QString', 2)
& Nbsp; >>> sip.setapi ('QVariant', 2)
La clase de propiedad userattr proporciona otro tipo definido propiedad pitón. El propósito de reinventar este fue asegurar que pudimos interactuar con nuestros modelos suficientemente y proporcionar una experiencia uniforme para las propiedades de columna SQLAlchemy y propiedades userattr.
& Nbsp; >>> from qtalchemy userattr importación
& Nbsp; >>> datetime importación
& Nbsp; >>> class Persona (objeto):
& Nbsp; ... name = userattr (str, "Nombre")
& Nbsp; ... birth_date = userattr (datetime.date, "Fecha de Nacimiento")
& Nbsp; ... edad = userattr (int, "Edad (días)", readonly = True)
& Nbsp; ...
& Nbsp; ... @ age.on_get
& Nbsp; ... def age_getter (self):
& Nbsp; ... retorno (datetime.date.today () - self.birth_date) .days
Con esta declaración, podemos declarar a una persona y calcular su edad:
& Nbsp; >>> me = Persona ()
& Nbsp; >>> me.name = "Joel"
& Nbsp; >>> me.birth_date = datetime.date (1979,1,9)
& Nbsp; >>> #depends me.age de hoy! - #doctest: + SALTAR
& Nbsp; 11746
& Nbsp; >>> me.age- (datetime.date.today () - datetime.date (2011,1,9)) día en el cumpleaños # 1> de PyQt4 importación QtCore, QtGui.
& Nbsp; >>> from MapperMixin importación qtalchemy, LayoutLayout, ButtonBoxButton, LayoutWidget
& Nbsp; >>>
& Nbsp; >>> clase PersonEdit (QtGui.QDialog, MapperMixin):
& Nbsp; ... def __init __ (self, padre, persona):
& Nbsp; ... QtGui.QDialog .__ init __ (self, los padres)
& Nbsp; ... MapperMixin .__ init __ (self)
& Nbsp; ...
& Nbsp; ... self.person = persona
& Nbsp; ...
& Nbsp; ... vbox = QtGui.QVBoxLayout (auto)
& Nbsp; ... mm = self.mapClass (Persona)
& Nbsp; ... mm.addBoundForm (vbox, ["name", "birth_date"])
& Nbsp; ... mm.connect_instance (self.person)
& Nbsp; ...
& Nbsp; ... botones = LayoutWidget (vbox, QtGui.QDialogButtonBox ())
& Nbsp; ... self.close_button = ButtonBoxButton (botones, QtGui.QDialogButtonBox.Ok)
& Nbsp; ... buttons.accepted.connect (self.btnClose)
& Nbsp; ...
& Nbsp; ... def btnClose (self):
& Nbsp; ... self.submit () # cambios descienden para modelar el enfoque del cambio; asegurarse de recibir el foco actual
& Nbsp; ... self.close ()
Y, ahora, sólo necesitamos un poco de código de la aplicación para poner en realidad esto adelante
& Nbsp; >>> aplicación = QtGui.QApplication ([])
& Nbsp; >>> sam = Persona ()
& Nbsp; >>> sam.name = "Samuel"
& Nbsp; >>> d = PersonEdit (Ninguno, sam)
& Nbsp; >>> d.exec_ () # gui interacción - #doctest: + SALTAR
& Nbsp; 0
& Nbsp; >>> sam.age # asume selección de ayer en el gui - #doctest: + SALTAR
& Nbsp; 1
Desarrollo
QtAlchemy está todavía en desarrollo núcleo pesado tanto como mi horario de trabajo lo permite. La documentación está creciendo como las ideas se plasmen y aprendo esfinge para la generación de la documentación general. Nos esforzamos para la cobertura doc-prueba completa como sea posible, pero el modelo-vista y gui PyQt imponemos ciertas complicaciones en doc-pruebas.
Mis expectativas para 0,7 continúan incrementando así que le di en un comunicado 0.6.10 bajo el nuevo nombre de qtalchemy. Esto viene emparejado con un nuevo (y en realidad no terminado) la página web de la marca http://qtalchemy.org. Antes de que un comunicado de 0.7, que aspirar a conseguir:
- Documento de selección InputYoke
- PBMdiTable y PBSearchDialog traslado a qtalchemy.ext

¿Cuál es nuevo en esta versión:

  • Python 3 apoyo! No 2to3 u otras trampas.
  • correcciones de compatibilidad 0.9x SQLAlchemy

¿Qué hay de nuevo en la versión 0.8.0:

  • Cambiar a PySide como importaciones por defecto
  • Relax licencia GPL a LGPL
  • Mejorar el cambio yugo manipulación
  • Crear nuevo PopupKeyListing para la entrada clave externa

¿Qué hay de nuevo en la versión 0.7.1:

  • QueryDataView ganó habilidad básica para volver a consultar en la columna de cabecera clics para clasificar

  • Correcciones
  • algunos doc
  • nueva familia función auxiliar para el uso de Geraldo en qtalchemy.ext.reporttools

¿Qué hay de nuevo en la versión 0.7.0:

  • un mejor manejo de error de excepción e informes para las aplicaciones GUI con consola salida privado
  • nuevo yugo apoyar un cuadro combinado
  • mejorar la documentación yugo
  • añadir ejemplos completos al frente de documentación
  • diversas modelo / mejoras lista incluyendo ancho de columna impago

¿Qué hay de nuevo en la versión 0.6.12:

  • BoundCommandMenu tiene ranuras que se envíen desde html entidad vinculante comandos a html viendo formas
  • carga y estructurado salvar a la ampliación del marco de BoundDialog
  • nuevo TreeView exponer el QTreeView
  • Soporte modelo de árbol en PBTableModel
  • mejorado la portabilidad PySide y varios crash-bugs corregidos relacionados con ese

¿Qué hay de nuevo en la versión 0.6.11:

  • ayuda sensible al contexto y estado consejos para los campos

  • Señales
  • nueva PRECOMMAND / refresco con estructura CommandEvent permiten abortar por la pantalla ambiente
  • mejoras en el asistente de importación de datos genéricos
  • Vista tabla mejoras (parches, actualizaciones de modelo corregido para ser más precisos)
  • Uso pywin32 ShellExecute lugar de os.system para un mejor apoyo ventanas

¿Qué hay de nuevo en la versión 0.6.10:

  • renombrado a qtalchemy
  • expuesta la asociación de Qt de iconos con los comandos que aparecen en los menús y barras de herramientas
  • trasladó qtalchemy.PBTable a qtalchemy.widgets.TableView
  • nuevo módulo qtalchemy.ext de diálogos comunes (un asistente de importación de datos por ahora)

Requisitos :

  • Python

Programas parecidos

SQLAntaresia
SQLAntaresia

14 Apr 15

Psycopg2
Psycopg2

17 Feb 15

Otro software de desarrollador Joel B. Mohler

PyHacc
PyHacc

14 Apr 15

Comentarios a la QtAlchemy

Comentarios que no se encuentran
Añadir comentario
A su vez en las imágenes!