這種情況是: 在「創建過程」中,我單擊「Save1」按鈕(時間1,它調用setUpStep2Action()),它進入第2步並禁用「Save1」按鈕...保存所有信息後,我添加更多課程,因此「Save1」按鈕啓用。當我點擊「Save1」按鈕(時間2),它調用setUpStep2Action()2次。 我不知道發生了什麼,以及如何防止此問題。 謝謝。如何防止QPushButton呼叫信號兩次?
無效step2SaveAction(INT courseId) {
int numElement = ui.rightWidget->count();
if(numElement == 0)
{
QMessageBox::warning(this,tr("Skill choice"),tr("Please choose skills!!"));
return;
}
char* method = "CREATE";
if (courseId !=0)
method = "EDIT";
setup4Step3(method,courseId,numElement);
ui.addMoreButton->setVisible(true);
}
我把在構造函數中的連接。這裏是我的代碼中創建連接:
QSignalMapper *signalMapper1 = new QSignalMapper(this);
signalMapper1->setMapping(ui.courseNameLineEdit,0);
QObject::connect(ui.courseNameLineEdit,SIGNAL(returnPressed()),signalMapper1, SLOT(map()));
QObject::connect(signalMapper1, SIGNAL(mapped(int)),this, SLOT(step1SaveAction(int)));
您可能多次將'clicked()'信號連接到'setUpStep2Action()'插槽,但除非您發佈代碼,否則無法分辨。 –
如何完成連接()功能.. – Wagmare
是的。我沒有上傳代碼:)謝謝 – ndnguyen