Qt学习——类之间通过信号与槽建立通信

来源:互联网 发布:电视软件破解论坛 编辑:程序博客网 时间:2024/05/16 19:49
/* class drugNameBasicInfo */
connect(ui->okBtn,SIGNAL(clicked()),this,SLOT(okDrugNameInfoBtn()));
void drugNameBasicInfo::okDrugNameInfoBtn()
{
    int row = ui->drugNameBaseInfoView->currentIndex().row();
    QSqlRecord record = drugTableModel->record(row);
    QString drug_name = record.value("pt_desc").toString();
    //qDebug()<<drug_name;
    emit setDrugName(drug_name);
}
/*  class PurchaseQuery   */
drugNameBasicInfo *startDrugNameBasicInfos = new drugNameBasicInfo();
connect(ui->startMNameSearch,SIGNAL(clicked()),this,SLOT(selectStartDrugName()));
/* 当drugNameBasicInfo发送setDrugName(QString &)信号时,PurchaseQuery对象调用槽getStartDrugNameInfo(QString &) */
connect(startDrugNameBasicInfos,SIGNAL(setDrugName(QString &)),this,SLOT(getStartDrugNameInfo(QString &)));
void PurchaseQuery::selectStartDrugName()
{
    startDrugNameBasicInfos->exec();
}

void PurchaseQuery::getStartDrugNameInfo(QString &s)
{
    //qDebug()<<"Drug_name: "<<s;
    ui->startMedcineName->setText(s);
    startDrugNameBasicInfos->close();
}

0 0
原创粉丝点击