首页 > 解决方案 > 如何从 Slot 中获取整数值并将其传递给另一种形式?

问题描述

这是插槽。第一种形式。整数值的发送者。我想获取selectedInsID的值并将其传递给第二种形式。

void addteacherform::on_instableView_activated(const QModelIndex &index)
{
    QString val = ui->instableView->model()->data(index).toString();
    dbRepository dr;
    int selectedInsID;

    dr.OpenDBConnection();
    QSqlQuery qry;
    qry.prepare("   SELECT * FROM InstructorTbl WHERE InsFname='"+val+"'  "); // add  or InsFname='"+val+"' for select other col

    if(qry.exec()){
        while(qry.next()){
            selectedInsID=qry.value(0).toInt();
       }
    }
}

这是第二种形式。整数值的接收者。

void viewhandledsubjectform::on_addHandledSubBtn_clicked()
{
    dbRepository dr;
    addteacherform at;

    dr.OpenDBConnection();
    int row = ui->subjectCodeCombo->currentIndex();
    QModelIndex idx = ui->subjectCodeCombo->model()->index(row, 1); // first column
    QVariant data = ui->subjectCodeCombo->model()->data(idx);

     //Here, I want to get the value of selectedInsID. It is from the first form.


    //insert query
    QSqlQuery qry1;
    qry1.prepare("INSERT INTO InsSubHandleTbl (SubjectCode)"
                "VALUES (:SubjectCode)");
    qry1.bindValue(":SubjectCode",data);


    if(qry1.exec()){
          QMessageBox::information(this,"Added", "Data Added Successfully");
       }
    else{
           qDebug() << "add data failed: " << qry1.lastError();
        }
     dr.CloseDBConnection();
}

标签: c++qtintegerslot

解决方案


推荐阅读