Qt对话框关闭时清理资源

本文介绍Qt关闭对话框时,两种清理资源的方法,如下:

1、QWidget::setAttribute(Qt::WA_DeleteOnClose);   //在对话框关闭时时,会调用对话框的析构函数。

2、if(QDialog::Accepted == dlg->close())    //当按下“X”时,会调用close函数,并按下OK键返回QDialog::Accepted,否则按Cancel返回QDialog::Rejected.

{

     //释放资源

}

附加对话框其他介绍:

if(QDialog::Accepted == dlg->exec())   //展示模态对话框,当某个动作(按键的槽函数)触发accept()信号时触发

{

  //todo

}

注:

在对应的槽函数响应中输入accept函数,会关闭对话框,并触发accpeted信号。但accpeted信号在关闭对话框时是不会发出的。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Qt对话框关闭,你可以将数据保存到一个vector中。 假设你有一个自定义对话框类`MyDialog`,你想在对话框关闭将数据保存到一个vector中,你可以在`MyDialog`类中添加一个`QVector`类型的成员变量,并在对话框关闭将数据保存到该变量中。具体实现步骤如下: 1. 在`MyDialog`类中添加一个`QVector`类型的成员变量: ``` class MyDialog : public QDialog { Q_OBJECT public: MyDialog(QWidget *parent = nullptr); private: QVector<int> m_data; // 添加一个QVector类型的成员变量 }; ``` 2. 在对话框的析构函数中将数据保存到`m_data`中: ``` MyDialog::~MyDialog() { // 将数据保存到m_data中 m_data.append(1); m_data.append(2); m_data.append(3); } ``` 在这个例子中,我们将1、2、3三个数字添加到`m_data`中。你可以将这个过程替换为你自己的数据保存逻辑。 3. 在调用`MyDialog`的地方获取`m_data`中的数据: ``` MyDialog dialog; if (dialog.exec() == QDialog::Accepted) { QVector<int> data = dialog.m_data; // 处理data中的数据 } ``` 在这个例子中,我们先创建一个`MyDialog`对象,然后调用`exec()`方法显示对话框。当对话框关闭,`exec()`方法会返回`QDialog::Accepted`,表示对话框被接受。此,我们可以通过`dialog.m_data`获取对话框中保存的数据,并将其赋值给`data`变量,进而处理这些数据。 以上就是将数据保存到vector中并在对话框关闭获取数据的方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值