E:\sdn\addd\studentManager\LoginDialog.h:28: error: 'void LoginDialog::on_buttonLogin_clicked()' is private void on_buttonLogin_clicked(); ^
时间: 2024-02-26 08:51:49 浏览: 24
这个错误提示是因为在 LoginDialog.h 文件中,on_buttonLogin_clicked() 函数被声明为 private,而在其他文件中的代码尝试调用了它。这意味着只有在 LoginDialog 类的内部才能够调用这个函数。要解决这个问题,你需要将 on_buttonLogin_clicked() 函数的访问级别改为 public 或 protected。
相关问题
E:\sdn\addd\studentManager\mainwindow.cpp:28: error: no matching function for call to 'MainWindow::connect(QLineEdit&, void (LoginDialog::*)(), QString&, void (MainWindow::*)(QString))' connect(s_id, &LoginDialog::on_buttonLogin_clicked, data, &MainWindow::receiveData); ^
这个错误是因为你在连接信号和槽的时候,使用了错误的参数类型或者参数数量不匹配。根据错误提示,可以看到你在第 28 行代码中的 `connect` 函数调用中,有以下两个参数不匹配:
1. 第二个参数 `&LoginDialog::on_buttonLogin_clicked` 是一个无参函数指针,但是你需要传递一个带参数的信号函数。
2. 第四个参数 `&MainWindow::receiveData` 是一个带参数的槽函数,但是你需要传递一个无参槽函数。
因此,你需要检查你的信号和槽函数的参数类型和数量是否正确,并且保证它们匹配。如果你需要连接一个带参数的信号和槽,可以使用 `SIGNAL` 和 `SLOT` 宏来实现。例如:
```
connect(s_id, SIGNAL(returnPressed()), data, SLOT(receiveData(QString)));
```
其中,`returnPressed()` 是 `QLineEdit` 类的一个信号,`receiveData(QString)` 是 `MainWindow` 类的一个槽函数。这个示例代码将在文本框中按下回车键时触发 `receiveData(QString)` 槽函数,并将文本框中的文本作为参数传递给该函数。
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` 函数的第四个参数。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.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)