E:\sdn\addd\studentManager\mainwindow.cpp:27: error: expected primary-expression before ',' token connect(&LoginDialog, &QDialog::accepted, this, &MainWindow::receiveData); ^
时间: 2024-02-26 15:51:35 浏览: 28
这个错误是因为 `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: 'class Ui::MainWindow' has no member named 'lineEditPassword' connect(ui->lineEditPassword, &QLineEdit::returnPressed, this, &MainWindow::receiveData); ^
这个错误是因为 `Ui::MainWindow` 类中没有名为 `lineEditPassword` 的成员变量。通常情况下,这个变量是在 `MainWindow` 类的构造函数中创建的,然后通过 `Ui::MainWindow` 类中的 `setupUi` 函数来初始化。因此,你需要检查一下 `MainWindow` 类的构造函数和 `setupUi` 函数,看看是否正确创建和初始化了 `lineEditPassword` 对象。
如果确实存在 `lineEditPassword` 对象,那么你可能需要在 `MainWindow` 类中添加一个成员变量,用于保存指向 `lineEditPassword` 对象的指针。例如,你可以在 `MainWindow` 类的头文件中添加以下代码:
```
private:
QLineEdit *lineEditPassword;
```
然后在 `MainWindow` 类的构造函数中初始化这个成员变量:
```
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
lineEditPassword = ui->lineEditPassword;
connect(lineEditPassword, &QLineEdit::returnPressed, this, &MainWindow::receiveData);
}
```
这个代码将 `ui->lineEditPassword` 赋值给 `lineEditPassword` 成员变量,并使用它来连接 `returnPressed` 信号到 `receiveData` 槽函数上。这样就可以避免使用 `ui->lineEditPassword`,从而解决编译错误。
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);
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)