Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

ComboBOX retornando o ID do SQLITE



  • bom dia
    estou precisando de uma ajuda criei um combox que me retorno o numero do ID do DB, os itens estão vindo corretos o problema que preciso salvar o ID em outro tabela.

            QSqlQuery query2;
            query2.prepare("select * from ITEM1");
            query2.exec();
                for(int i=0;query2.next();i++){
                    ui->cmb_cargo->addItem(query2.value(1).toString());
                }
    

    agradeço desde já



  • Hey @guara2100, seja bem vindo ao Qt Forum.

    Pelo que estou entendo, você esta recuperando dados do seu banco e precisa exibi-los em múltiplas views (QComboBox, QTableView or QListView).

    Tanto QComboBox quanto QTableView utilizam o padrão MVC, ou seja, isso significa que há uma divisão de poderes (Model, View e Controller). Onde o Model é responsável por gerenciar os dados que precisam ser exibidos na View (QComboBox).

    Você poderia criar um único Model e usa-lo em múltiplas views. Veja um exemplo abaixo:

    
    #include <QStandardItemModel> // No cabeçalho do seu arquivo .cpp
    
    // no corpo do seu código
    
    QSqlQuery query2;
    query2.prepare("select * from ITEM1");
    query2.exec();
    
    QStandardItemModel *model = new QStandardItemModel(this);
    
    while(query2.next()){
       model->appendRow(new QStandardItem(query2.value(1).toString()));
    }
    
    ui->cmb_cargo->setModel(model); //  setModel para combobox
    // considerando que você esteja utilizando uma QTableView (cmb_id_table)
    ui->cmb_id_table->setModel(model); // setModel para tableview
    

    Vale ressaltar que você também pode recuperar o Model do seu QComboBox (cmb_cargo) utilizando ui->cmb_cargo->model();

    Possíveis materiais de referências:
    https://doc.qt.io/qt-5/model-view-programming.html
    https://doc.qt.io/qt-5/qcombobox.html
    https://doc.qt.io/qt-5/qstandarditemmodel.html


Log in to reply