pineboo cuadro de conexion NO CONSIGO QUE MUESTRE EL TABLEVIEW....alguna ayuda?

49 views
Skip to first unread message

Miguel J

unread,
Jun 3, 2017, 7:01:56 AM6/3/17
to Eneboo
Wenas,

estoy haciendo pruebas para un cuadro de conexion en Pineboo con SQLITE pero no consigo que MUESTRE LA TABLA PROYECTOS DE UNA BASE DE DATOS SQLITE en el campo Widget del ui....

...he hecho varias pruebas y el archivo DlgConnect.py ya parece un queso gruyere....

Estos son los cambios:

https://github.com/Miguel-J/pineboo-prueba/commit/06fa8820a616b4d7e107ff27f80e02ceebd23458


....supongo que el error anda cerca de la línea 69 a 120 del DlgConnect.py


+ # mostrar la tabla proyectos de la base de datos SQLITE pinebooconectores.sqlite con los campos en el widget viewTable de dlgconnect.ui
+ model = QtSql.QSqlTableModel()
+ def initializeModel(model):
+ model.setTable('proyectos')
+ model.setEditStrategy(QtSql.QSqlTableModel.OnFieldChange)
+ model.select()
+ model.setHeaderData(0, QtCore.Qt.Horizontal, "ID")
+ model.setHeaderData(1, QtCore.Qt.Horizontal, "Name")
+ model.setHeaderData(2, QtCore.Qt.Horizontal, "Database")
+ model.setHeaderData(3, QtCore.Qt.Horizontal, "DB Type")
+ model.setHeaderData(4, QtCore.Qt.Horizontal, "Hpstname")
+ initializeModel(model)
+ class MyForm(QtGui.QDialog):
+ def __init__(self, parent=None) :
+ QtGui.QWidget.__init__(self, parent)
+ # self.ui = uic.loadUi(filedir('forms/dlg_connect.ui'), self)
+ # self.ui.setupUi(self)
+ self.model = QtSql.QSqlTableModel (self)
+ self.model.setTable("proyectos")
+ self.model.setEditStrategy(QtSql.QSqlTableModel.OnManualSubmit)
+ self.model.select ()
+ self.ui.tableView.setModel (self.model)
+ def createView(title, model):
+ view = QtGui.QTableView()
+ view.setModel(model)
+ view.setWindowTitle(title)
+ return view
+ view1 = createView("Table Model (View 1)", model)
+ # view1.clicked.connect(findrow)
+
+ dlg = QtGui.QDialog()
+
+ DlgConnect.leFolder = self.ui.leFolderSQLITE
+ DlgConnect.leProyElegID = self.ui.leProyElegID
DlgConnect.leName = self.ui.leName
+ DlgConnect.leDBName = self.ui.leDBName
+ DlgConnect.leDBType = self.ui.leDBType
+ DlgConnect.leHost = self.ui.leHost
+ DlgConnect.lePort = self.ui.lePort
DlgConnect.leUserName = self.ui.leUserName
DlgConnect.lePassword = self.ui.lePassword
- DlgConnect.leHostName = self.ui.leHostName
- DlgConnect.lePort = self.ui.lePort
- DlgConnect.leDBName = self.ui.leDBName
+
+ # muestra tabla
+ # DlgConnect.TABLEVIEW = self.ui.letableView
+
+ # myapp = MyForm()
+ # myapp.show()
+ projectModel = QSqlQueryModel()
+ projectModel.setQuery("select * from proyectos",db2)
+ projectView = QTableView()
+ projectView.setModel(projectModel)
+ projectView.show()



....QUE BUSCO QUE MUESTRE EN EL DLGCONNECT.UI DEFINIDO EN LA LINEA 68:



+ <item row="1" column="0" rowspan="7" colspan="2">
+ <widget class="QTableView" name="tableView"/>
+ </item>

...PERO NO LA MUESTRA...

...LO QUE SI FUNCIONA ES EL BOTÓN "CARGAR DATOS"...
PINEBOO-cuadro conexion SQLITE-SOLO BOTON CARGAR.jpg

Aulla Sistemas

unread,
Sep 23, 2017, 5:29:58 AM9/23/17
to Eneboo
Buenos días Miguel.

Quizás una buena solución sería reusar el DLGConnect actual de Pineboo, pero añadiendo un selector de DriverSql que cargue las opciones disponibles. o añadiendo una etiqueta en el xml del proyecto

En mi fork https://github.com/Aulla/pineboo, he empezado a implementar el uso del driver Sql como plugin. De hecho PostgreSql ya se comporta como tal. Si Creas el pluging de SQLLite , modificando el de PostgreSql sería un principio.
Gran trabajo Miguel !!

Saludos

Miguel J

unread,
Sep 23, 2017, 5:34:19 AM9/23/17
to ene...@googlegroups.com
ya lo ví...pero me estoy dedicando a la web de manuales y he parado el resto....
....por otro lado, veo que has pasado a qt5 y yo estaba cambiando el cuadro con qt4....no sé si tendré que cambiar alguna librería que usé....???
para gran trabajo el tuyo! ...jeje...aunque aún no lo he probado....

--
Has recibido este mensaje porque estás suscrito a un tema del grupo "Eneboo" de Grupos de Google.
Para cancelar la suscripción a este tema, visita https://groups.google.com/d/topic/eneboo/lB3T14DSjAo/unsubscribe.
Para cancelar la suscripción a este grupo y a todos sus temas, envía un correo electrónico a eneboo+unsubscribe@googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.

Aulla Sistemas

unread,
Sep 23, 2017, 6:25:56 AM9/23/17
to Eneboo
La migración de los ui de Qt4 a Qt5 es casi inexistente. Una buena idea que tuvieron estos de Qt fue que los ui no sufrieran cambios relevantes de Qt4 a Qt5, como desgraciadamente pasó de Qt3 a Qt4. Si te animas a añadirlo será bien recibido. ;)

Saludos
Para cancelar la suscripción a este grupo y a todos sus temas, envía un correo electrónico a eneboo+un...@googlegroups.com.

Miguel J

unread,
Oct 1, 2017, 2:26:34 PM10/1/17
to Eneboo
Buenas tardes Jose,

He pasado los cambios del formato de conexión a Qt5 y he conseguido mostrarlos por Tablewidget....me falta poder borrar la fila elegida y que cargue por fila....pero creo que queda bien....

puedes probarlo aqui:

https://github.com/Miguel-J/pineboo-qt5-prueba

...ni idea de lo que me decías del plugin de bases de datos....tan sólo guarda los datos de las empresas en una tabla SQLITE en el directorio donde tu le mandes que lo guarde...

...si quieres lo paso al repo de Pineboo, pero aún no funciona del todo...ya me dirás.

Saludos

José Antonio Fernández Fernández

unread,
Oct 1, 2017, 5:05:31 PM10/1/17
to ene...@googlegroups.com
Hola Miguel. Acabo de actualizar el DlgConnect de Pineboo con soporte de selección de driver, tb se puede especificar en el xml del proyecto, o en la linea de comandos. Si no se especifica se cargar el por defecto (PostgreSQL)
Saludos

--
Has recibido este mensaje porque estás suscrito al grupo "Eneboo" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a eneboo+unsubscribe@googlegroups.com.

Para acceder a más opciones, visita https://groups.google.com/d/optout.



--
Cuenta de correo propiedad de FERNÁNDEZ FERNÁNDEZ, JOSÉ ANTONIO y de uso estrictamente profesional. Este mensaje electrónico está dirigido únicamente a la(s) direcciones indicadas anteriormente: el carácter confidencial, personal e intransferible del mismo está protegido legalmente.
Cualquier revelación, uso o reenvío no autorizado, completo o en parte está prohibido. Si ha recibido este mensaje por equivocación notifíquelo inmediatamente a la persona que lo remite y borre el mensaje original junto con sus ficheros anexos sin leerlo ni grabarlo total o parcialmente. Si usted no desea recibir correos de nuestra empresa, por favor, envíenos un correo a AULLAS...@GMAIL.COM manifestando tal deseo

Aulla Sistemas

unread,
Oct 3, 2017, 3:19:58 PM10/3/17
to Eneboo
Miguel , no veo lo que me quieres mostrar ... :(

Miguel J

unread,
Oct 3, 2017, 4:06:37 PM10/3/17
to Eneboo
Wenas Jose,
...como no soy especialista informático, miré dónde podía mejorar Pineboo y decidí meterle mano al formulario de conexión:

C:\GITHUB\pineboo-qt5-prueba\pineboolib\forms\dlg_connect.ui

....es que lo de las 3 pestañas no lo veo práctico...prefiero verlo todo en una sola vista, como en Eneboo...

...y luego haría falta algo que "memorizase" las distintas conexiones, como tiene Eneboo...

....así que intenté que "memorizara" esas conexiones en una base de datos "ligera" como una sqlite...

te adjunto pantallazo

...los cambios que he hecho son estos:

https://github.com/Miguel-J/pineboo-qt5-prueba/commits

???....NO APARECEN LOS CAMBIOS....VOY A VOLVER A SUBIRLOS...?¿?¿

...aún no va todo, pero tal vez puedes aprovechar algo y mejorarlo...(ya te digo ahora que no tengo idea de cómo usar los datos del sqlite para llevarlo al botón de "iniciar Pineboo")
pineboo-qt5-prueba-FORMULARIO CONEXION.jpg

Miguel J

unread,
Oct 3, 2017, 4:15:31 PM10/3/17
to Eneboo

José Antonio Fernández Fernández

unread,
Oct 3, 2017, 4:23:52 PM10/3/17
to ene...@googlegroups.com
Por lo que entiendo:
- quieres que se guarden los datos locales en una bd sqlite, en puesto de en registro de windows, .config de linux , etc. *Esto me parece estupendo pero a nivel entero del programa, de manera que todo lo local se guarde en un fichero .s3db(sqlite)

- 4 pasos son muchos no? . Actualmente guardas el xml en la carpeta project y al iniciar el dlg_connect pones el nombre del proyecto y le das a start.

- la idea de mostrar los proyectos de la carpeta elegida, en su defecto proyect me parece bien. Se podria mostrar un listado , pulsar sobre un proyecto, este carga el nombre y start pineboo. (siempre 2 pasos). 

- database y credentials se podrian unir en una sola pestana. Osea quedarian dos pestañas, proyect y credentials.

Puedes hacer esos cambios y me los pasas?. Mira mi dlg_connect ya soporta seleccion de tipo de bd, que carga desde plugins.sql disponibles.



Has recibido este mensaje porque estás suscrito al grupo "Eneboo" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a eneboo+unsubscribe@googlegroups.com.

Miguel J

unread,
Oct 3, 2017, 4:37:24 PM10/3/17
to Eneboo
CONTESTO ABAJO


El martes, 3 de octubre de 2017, 22:23:52 (UTC+2), Aulla Sistemas escribió:
Por lo que entiendo:
- quieres que se guarden los datos locales en una bd sqlite, en puesto de en registro de windows, .config de linux , etc. *Esto me parece estupendo pero a nivel entero del programa, de manera que todo lo local se guarde en un fichero .s3db(sqlite)
...SUPONGO QUE SE PUEDE GUARDAR EN TABLAS DISTINTAS DE LA MISMA BD SQLITE...
 
- 4 pasos son muchos no? . Actualmente guardas el xml en la carpeta project y al iniciar el dlg_connect pones el nombre del proyecto y le das a start.
ES QUE ME GUSTA HACERLO "PARA TONTOS"...LUEGO SE PUEDE SIMPLIFICAR QUITANDO "ETIQUETAS"....HAZTE UN CLON Y PRUÉBALO, ME GUSTA MUCHO QUE PUEDAS ELEGIR DÓNDE GUARDA ESA BD SQLITE (EN EL PASO 1)...POR CIERTO, QUE YO NO CONSIGO QUE AL ARRANCAR PINEBOO TAL COMO ESTÁ AHORA, ME "LLENE" LOS CAMPOS CON LOS DATOS DEL .XML.....HE PROBADO VARIAS FORMAS PERO SIEMPRE ME SALEN EN BLANCO Y HE DE LLENARLOS "A MANO"...?¿?
 
- la idea de mostrar los proyectos de la carpeta elegida, en su defecto proyect me parece bien. Se podria mostrar un listado , pulsar sobre un proyecto, este carga el nombre y start pineboo. (siempre 2 pasos). 
ESO ES LO QUE HACE AHORA, EN UNA SOLA VISTA...PODRÍA HACERLO EN DOS PESTAÑAS TAMBIÉN
 
- database y credentials se podrian unir en una sola pestana. Osea quedarian dos pestañas, proyect y credentials.

Puedes hacer esos cambios y me los pasas?. Mira mi dlg_connect ya soporta seleccion de tipo de bd, que carga desde plugins.sql disponibles.
EL PROBLEMA ES QUE NO FUNCIONA...YO TE LO PASO SI QUIERES, PERO NO VA:
1.- EL BOTÓN "CARGAR" AHORA PUBLICA SÓLO LA PRIMERA FILA DE LA TABLA, NO LA FILA QUE ELIJAS DEL CUADRO.
2.- EL BOTÓN "BORRAR" NO ESTOY SEGURO DE QUE BORRE ALGO....CREO QUE SIMPLEMENTE VUELVE LA FILA "EN BLANCO", PERO NO DESAPARECE LA FILA
3.- EL BOTÓN "INICIAR PINEBOO" NO HACE NADA


Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a eneboo+un...@googlegroups.com.

José Antonio Fernández Fernández

unread,
Oct 3, 2017, 5:05:01 PM10/3/17
to ene...@googlegroups.com
cuando seleccionas un proyecto, este no carga los datos en el form, al darle a start pineboo, y haber especificado un proyecto, carga los datos de este.de esta manera no se necesitan saber los datos de conexión

el tema de los otros campos, es por si no especificas proyecto

en resumen 3 fomas:

* proyecto
* datos de conexión
* desde linea de comandos , datos de conexion como silentconn actual o -l proyecto

Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a eneboo+unsubscribe@googlegroups.com.

Miguel J

unread,
Oct 3, 2017, 6:22:11 PM10/3/17
to ene...@googlegroups.com
...ya, pero no me gusta ninguna de esas 3 formas: prefiero la de Eneboo....le doy al acceso directo, luego al desplegable para elegir la empresa y luego a "conectar"....todo en 3 clicks de ratón y sin usar el teclado.


Para cancelar la suscripción a este grupo y a todos sus temas, envía un correo electrónico a eneboo+unsubscribe@googlegroups.com.

José Antonio Fernández Fernández

unread,
Oct 3, 2017, 6:29:15 PM10/3/17
to ene...@googlegroups.com
En unos dias subire una actualización , a ver si te gusta

Miguel J

unread,
Oct 8, 2017, 1:30:51 PM10/8/17
to Eneboo
ya he arreglado todos los botones menos el de conectar...
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a eneboo+un...@googlegroups.com.

Para acceder a más opciones, visita https://groups.google.com/d/optout.

--
Has recibido este mensaje porque estás suscrito a un tema del grupo "Eneboo" de Grupos de Google.
Para cancelar la suscripción a este tema, visita https://groups.google.com/d/topic/eneboo/lB3T14DSjAo/unsubscribe.
Para cancelar la suscripción a este grupo y a todos sus temas, envía un correo electrónico a eneboo+un...@googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.

Miguel J

unread,
Oct 8, 2017, 3:57:15 PM10/8/17
to Eneboo
...ya lo tengo...ahora voy a adaptarlo a lo que has hecho tu y te lo envío?

José Antonio Fernández Fernández

unread,
Oct 8, 2017, 9:47:44 PM10/8/17
to ene...@googlegroups.com
Miguel lo estoy probando. Lo he subido y he realizo algunos cambios simplificandolo. Hay que pulirlo mas, pero me gusta. Saludos

Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a eneboo+unsubscribe@googlegroups.com.

Para acceder a más opciones, visita https://groups.google.com/d/optout.



--
Reply all
Reply to author
Forward
0 new messages