Función cuelga el programa si la llamo desde un slot.



  • Buenas tardes.
    Tengo una función simple:

    void Salidas::actualizarTabla() 
    {
        mTablaSalidas->setFilter("idTienda = "+QString::number(base->idTiendaDesdeNombre(QSqlDatabase::database("DB"),ui->comboBoxDestino->currentText())));
        mTablaSalidas->setSort(3,Qt::AscendingOrder);
        mTablaSalidas->select();
        ui->tableView->setModel(mTablaSalidas);
        ui->tableView->hideColumn(0);
    
        ui->tableView->resizeColumnsToContents();
    }
    

    Llamada desde otras partes funciona correctamente sin embargo si hago:

    void Salidas::on_comboBoxDestino_currentIndexChanged(int index) 
    {
        actualizarTabla();
        qDebug() << "Current index chaned";
    }
    

    El programa se cuelga. Alguien tiene alguna explicación.
    Tambien he probado con otras señales que emite el comboBox prero el resultado es el mismo.
    Pongo un botón que al presionarlo corra la función y sin problema pero en la práctica es poco practico y confuso.
    Gracias.


  • Moderators

    Hola

    Comprueba que la señal no se dispare al inicio de tu programa y aún no hayas configurado el modelo.

    Un saludo



  • Por más que miro no lo encuentro. Tengo otra ventana casi calcada para hacer lo contrario, es decir, una la uso para entrada y otra para salida y en la otra no tengo ese problema.
    Como no utilizo la información que me viene del slot la he cambiado por

    void EntradaMercancia::on_comboBoxProcedencia_activated(const QString &arg1)
    
    

    y por lo menos funciona.
    gracias.


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.