-1
我不能爲我的生活弄清楚爲什麼我的功能連接後沒有被正確調用。Qt插槽功能未被調用
.h文件中
class NewCustomer : public QObject {
Q_OBJECT
public:
QWidget* newCustomer = new QWidget;
QDialogButtonBox* buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel);
NewCustomer(QObject *parent);
~NewCustomer();
private slots:
void aAccepted();
};
.cpp文件
void thisfunctionworksthough() {
QMessageBox msgBox;
msgBox.setText("The document has been modified.");
msgBox.exec();
}
NewCustomer::NewCustomer(QObject *parent) : QObject(parent) {
connect(this->buttonBox, &QDialogButtonBox::accepted, this, &NewCustomer::aAccepted);
connect(buttonBox, &QDialogButtonBox::rejected, thisfunctionworksthough);
newCustomer->setMinimumSize(700, 600);
newCustomer->show();
}
void NewCustomer::aAccepted() {
QMessageBox msgBox;
msgBox.setText("The document has been modified.");
msgBox.exec();
}
自由功能的作品,但在一個定義爲槽不裏面的類。爲什麼?
一個映射到Ok按鈕(接受),另一個映射到取消按鈕(被拒絕)。當我按確定沒有任何反應,當我按下取消時,我收到消息。 – Eejin
這段代碼是否編譯? – HazemGomaa
@ H.G是的,雖然我刪除了包含和一些其他小部件來做一個簡單的例子。 – Eejin