qt中根据父子回收机制 要自动回收清理要满足两种情况
1、是qobject的派生类
2、有指定的父对象 这样父类在清理的时候也会顺带把子清理掉。
class MainWindow : public QMainWindow
{
Q_OBJECT
pravite: QSerialPort *serialport = NULL; //串口指针
}
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
serialport = new QSerialPort(this); //new的时候指定了 mainwindow这个父对象 不用手动释放
serialport = new QSerialPort;//不指定父对象 则需要自己使用完delete
}
//析构函数
MainWindow::~MainWindow
{
//保险起见 可以进行判断
if(serialport)
{
delete serialport;
serialport = NULL;//清理后赋空值 看个人习惯
}
}
QT中new出来的控件是否需要手动delete?
最新推荐文章于 2023-04-22 15:02:14 发布