• QT中对内存的管理


    在QT中,一切继承自QT自有类的类,如果存在parent指针,那么当parent指针delete时,该类中的指针(它们都属于parent指针对应的child指针)也会被delete。
    综上,如果我们的窗口对应的类所对应的parent指针为NULL的话,我们还是要进行一次手动的内存管理。我这里举个例子,方便期间,只在文件里展示了析构函数。

    #ifndef ACCOUNTDIALOG_H
    #define ACCOUNTDIALOG_H
    
    #include<QDialog>
    #include<QString>
    
    #include"Manage.h"
    #include<ui_accountdialog.h>
    
    class AccountDialog :public QDialog, 
    public Ui::AccountDialog, public ToolNeed
    {
      Q_OBJECT
    public:
      AccountDialog(Manage *m, int, QWidget *parents = 0);
      ~AccountDialog()
      {
        delete buttonGroup;
      }
    
    private slots:
      void Okbutton();
      void buttonGroupChanged(int);
      void on_AccountButton_clicked();
    private:
      QButtonGroup *buttonGroup = new QButtonGroup;
      int option;
      Manage *adminptr;
    };
    
    #endif // ACCOUNTDIALOG

     
    当QT窗口被关闭时,如果我们想要让该窗口对应的析构函数运行,我们要在该类的构造函数中加入以下代码:

      setAttribute(Qt::WA_DeleteOnClose);

    这样,当close()槽函数被调用时,就会调用析构函数进行析构。

  • 相关阅读:
    团队任务拆解
    团队贡献分分配规则
    使用highcharts绘制美观的燃尽图
    【Alpha】阶段第一次Scrum Meeting
    项目功能规格说明书
    技术规格说明书
    软件工程团队第二次作业
    软工第一次团队作业
    团队作业 # 项目功能规格说明书
    团队作业 #2 —— 项目选择
  • 原文地址:https://www.cnblogs.com/cielosun/p/5652876.html
Copyright © 2020-2023  润新知