解决Qt中主界面的QWidget窗口组件的按钮点击后只能关闭组件不能关闭主页面
要解决这个问题,你可以使用信号和槽机制来实现。具体步骤如下:
- 在主界面的QWidget窗口组件类中定义一个槽函数,用于处理按钮的点击事件。例如,你可以在主界面类的头文件中添加以下代码:
 
private slots:
    void handleButtonClicked();
- 在主界面类的源文件中实现槽函数。例如,你可以在源文件中添加以下代码:
 
void MainWindow::handleButtonClicked()
{
    // 处理按钮点击事件的逻辑
    // ...
    // 关闭组件
    QWidget* widget = qobject_cast<QWidget*>(sender());
    if (widget)
    {
        widget->close();
    }
}
- 在主界面类的构造函数中连接按钮的clicked()信号到槽函数。例如,你可以在构造函数中添加以下代码:
 
connect(ui->button, &QPushButton::clicked, this, &MainWindow::handleButtonClicked);
其中,ui->button是你的按钮对象。你需要根据实际情况修改这个代码。
这样,当按钮被点击时,槽函数handleButtonClicked()会被调用,你可以在该函数中处理按钮点击事件的逻辑,并关闭组件。注意,这里只是关闭了组件,而不是关闭主页面。
原文地址: https://www.cveoy.top/t/topic/iw6g 著作权归作者所有。请勿转载和采集!