Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/04/2016, 04:06
dehm
 
Fecha de Ingreso: septiembre-2010
Mensajes: 494
Antigüedad: 13 años, 7 meses
Puntos: 10
Qt. Reutilizar widgets en distintas partes del programa

Bueno, el título no expresa exactamente la duda que tengo, voy a ver si me consigo explicar:

Estoy "perpetrando" una BBDD en mis ratos libres. El programa que la maneja accede en varios puntos del programa y con diálogos diferentes a cuadros idénticos. Por ejemplo, tengo unos QLineEdit donde están los datos de las personas, los cuales tienen están rellenos con los datos actuales para que funcione el autocompletado:
Algo como esto: (para QLineEdit)
Código C++:
Ver original
  1. QStringList *ListaValores = new QStringList();
  2.             QString cadenaConsulta = "SELECT DISTINCT "+campo[i]+" FROM socios order by "+campo[i];            
  3.             consulta.exec(cadenaConsulta);
  4.             while(consulta.next())
  5.             {
  6.                 *ListaValores << consulta.value(0).toStringList();                
  7.             }
  8.             completer = new QCompleter(*ListaValores);
  9.             completer->setCaseSensitivity(Qt::CaseInsensitive);
  10.             editor[i]->setCompleter(completer);

O esto (Para QComboBox):

Código C++:
Ver original
  1. QSqlQueryModel* modelZonas = new QSqlQueryModel();
  2.     QSqlQuery *consulta = new QSqlQuery ("SELECT zona FROM zonas ORDER BY id");
  3.     modelZonas->setQuery(*consulta);
  4.     comboZona->setModel(modelZonas);

La idea sería que esos mismos widgets aparecieran en otros diálogos, de forma que ya estarían rellenos y no tendría que volver a hacer la operación.

Confieso que cuando pensé en la idea me la imaginaba sencilla y sin ninguna complicación, y llevo unas cuantas horas y no doy con la tecla.

Saludos y gracias, como siempre!
__________________
Mi calculadora en Qt