QT开发中文网

deleteLater使用demo

以下是一个使用deleteLater的简单示例:

#include <QObject>
#include <QTimer>
#include <QDebug>

class MyClass : public QObject {
    Q_OBJECT
public:
    MyClass(QObject* parent = nullptr) : QObject(parent) {}

public slots:
    void deleteLaterDemo() {
        qDebug() << "Deleting object...";
        deleteLater();
    }
};

int main(int argc, char** argv) {
    QApplication app(argc, argv);

    MyClass* obj = new MyClass();

    QTimer::singleShot(3000, obj, &MyClass::deleteLaterDemo); // 3秒后调用删除槽函数

    return app.exec();
}

在上面的示例中,我们创建了一个名为MyClass的自定义QObject子类,并添加了一个名为deleteLaterDemo()的槽函数。这个槽函数会打印一条消息,并通过调用deleteLater()来安排对象在适当的时候进行删除。

在主函数中,我们创建了一个MyClass对象并使用定时器(QTimer)设置了一个3秒钟后触发的单次定时器事件。该事件将触发调用deleteLaterDemo()槽函数,从而延迟删除对象。

运行这个示例程序后,你将看到”Deleting object…“消息被打印出来,并且在3秒后程序正常退出。这表明对象已经被成功地延迟删除。

注意:由于我是文本形式的AI助手,无法直接运行GUI代码,请确保将示例代码放入Qt项目中正确编译和运行。


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://qt.0voice.com/?id=10588

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?