connect(registerButton, &QPushButton::clicked, [=]() { this->close(); // 关闭当前窗体 RegisterWindow* registerwindow = new RegisterWindow(); // 创建新的窗体对象 registerwindow->show(); // 显示新的窗体 });哪里错了
时间: 2024-03-25 12:36:43 浏览: 62
打开新的窗体,关闭当前窗体的一个简单方法,更改主程序地方很少。不妨一试哦
这段代码中,connect函数的第二个参数应该为一个函数指针或函数对象,而不应该加上括号。正确的写法如下:
```c++
connect(registerButton, &QPushButton::clicked, [=]() {
this->close(); // 关闭当前窗体
RegisterWindow* registerwindow = new RegisterWindow(); // 创建新的窗体对象
registerwindow->show(); // 显示新的窗体
});
```
其中,[=]()表示使用lambda表达式来定义一个匿名函数,它没有参数,捕获了当前上下文中的所有变量。当registerButton被点击时,这个匿名函数会被执行,从而关闭当前窗体并生成一个新的窗体。
阅读全文