connect(&loginDialog,QDialog::Accepted, this, &MainWindow::receiveData);
时间: 2023-07-10 13:29:25 浏览: 137
这行代码是错误的,因为 `QDialog::Accepted` 不是一个信号,而是一个枚举值,用于表示 `QDialog` 对象的返回值。正确的写法应该是:
```
connect(&loginDialog, &QDialog::accepted, this, &MainWindow::receiveData);
```
其中,`&QDialog::accepted` 表示 `QDialog` 类中的 `accepted` 信号,表示对话框被接受,`this` 表示当前的 `MainWindow` 对象,`&MainWindow::receiveData` 表示 `MainWindow` 类中的 `receiveData` 槽函数。
这行代码的作用是在用户点击对话框中的“确认”按钮时,触发 `accepted` 信号,从而调用 `MainWindow` 对象 `this` 中的 `receiveData` 槽函数。
相关问题
E:\sdn\addd\studentManager\mainwindow.cpp:27: error: expected primary-expression before ',' token connect(&LoginDialog, &QDialog::accepted, this, &MainWindow::receiveData); ^
这个错误是因为 `connect` 函数的第一个参数应该是指向 `QObject` 类型的指针或引用,而不是 `LoginDialog` 类型的变量。你需要将 `LoginDialog` 改成指向 `LoginDialog` 对象的指针。如果你的 `LoginDialog` 对象叫做 `loginDialog`,那么修改后的代码应该是这样的:
```
connect(&loginDialog, &QDialog::accepted, this, &MainWindow::receiveData);
```
同时,如果你的 `receiveData` 函数的参数类型是 `QString`,那么上面的代码应该可以正常工作。否则你需要根据 `receiveData` 函数的参数类型来修改 `connect` 函数的第四个参数。
E:\sdn\addd\studentManager\mainwindow.cpp:27: error: no matching function for call to 'MainWindow::connect(QString&, QDialog::DialogCode, QString&, void (MainWindow::*)(QString))' connect(text, LoginDialog::Accepted, data, &MainWindow::receiveData); ^
这个错误是因为 `connect` 函数的第二个参数应该是一个函数指针,而不是 `QDialog::DialogCode` 枚举类型。你需要把 `LoginDialog::Accepted` 改成 `&QDialog::accepted`。同时,第一个参数和第三个参数应该是对象指针,而不是字符串。如果 `text` 和 `data` 是 `QString` 类型的变量,你需要将它们改成指向相应对象的指针。修改后的正确代码应该是这样的:
```
connect(&loginDialog, &QDialog::accepted, this, &MainWindow::receiveData);
```
阅读全文
相关推荐
















