我用信號與槽傳遞變數,結果發現在槽函式中qDebug后變數存在,但是在其他方法中使用變數時一直是0.
uj5u.com熱心網友回復:
代碼提出來,可以幫你分析uj5u.com熱心網友回復:
應該是值傳遞沒處理正確uj5u.com熱心網友回復:
信號:
QObject::connect(this,SIGNAL(sendData(QVector<double>,QVector<QString>)),&m,SLOT(receiveData(QVector<double>,QVector<QString>)));
emit sendData(d_,st);
槽:
ui->edit_sigle->setText("請輸入");//因為得到的賦值變數一直為空,所以想在界面測驗一下,結果發現這段話沒有在界面當中列印出來
cal_info=d;
st=m;
cal_info與st的值在槽函式中列印不為空,但是在其他方法中使用始終是空
uj5u.com熱心網友回復:
QObject::connect(this,SIGNAL(sendData(QVector<double>&,QVector<QString>&)),&m,SLOT(receiveData(QVector<double>&,QVector<QString>&)));信號槽引數要傳參考才能正確傳遞資料。
uj5u.com熱心網友回復:
你這看不出問題,你的cal_info,d兩個變數是怎么定義的,是全域變數嗎? 其他地方使用的時候是否已經賦值都是不確定的
st
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/120855.html
標籤:Qt
