connect(tableView->horizontalHeader(), SIGNAL(clicked(int)), this, SLOT(ordenar(int)));
in the header declared
private slots:
void ordenar(int logicalIndex);
void MainWindow::ordenar(int logicalIndex )
{
QString id;
mModel=new QSqlQueryModel(this);
if (logicalIndex==1){id="grupo";}
if (logicalIndex==2){id="tipo";}
if (logicalIndex==3){id="nombre";}
if (logicalIndex==4){id="descripcion";}
else{
id="id";
}
QString campo=comboCampo->currentText();
QString cond=comboCondicion->currentText();
QString valor=comboValor->currentText();
QString multi=comboMulti->currentText();
QString campo2=comboCampo2->currentText();
QString cond2=comboCondicion2->currentText();
QString valor2=comboValor2->currentText();
if(filtro==1){
if(comboMulti->currentIndex()!=0){
mModel->setQuery("SELECT * FROM vertical WHERE " +campo+ " "+cond +" '"+valor+"' " +multi+" " +campo2+ " "+cond2 +" '"+valor2+"' ORDER BY '"+id+"';");}
else {mModel->setQuery("SELECT * FROM vertical WHERE " +campo+ " "+cond +" '"+valor+"' ORDER BY '"+id+"';");}
}
if(filtro!=1){
mModel->setQuery("SELECT id,grupo,tipo,nombre,descripcion,icono from vertical ORDER BY '"+id+"';");
}
mModel->setHeaderData(0,Qt::Horizontal,tr("ID"));
mModel->setHeaderData(1,Qt::Horizontal,tr("GRUPO"));
mModel->setHeaderData(2,Qt::Horizontal,tr("TIPO"));
mModel->setHeaderData(3,Qt::Horizontal,tr("NOMBRE"));
mModel->setHeaderData(4,Qt::Horizontal,tr("DESCRIPCI\u00D3N"));
mModel->setHeaderData(5,Qt::Horizontal,tr("ICONO"));
tableView->setModel(mModel);
tableView->resizeColumnsToContents();
tableView->show();
}
This is what I get by console when I click on the header of the table:
Object :: connect: No such signal QHeaderView :: clicked () in .. \ signal_dev \ mainwindow.cpp: 362