修复程序退出问题
This commit is contained in:
@ -3,38 +3,13 @@
|
|||||||
#include <QObject>
|
#include <QObject>
|
||||||
#include <QList>
|
#include <QList>
|
||||||
#include "sqlitehelper.h"
|
#include "sqlitehelper.h"
|
||||||
template <typename T>
|
|
||||||
class AutoDeleteList
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
// <20><><EFBFBD>Ӷ<EFBFBD><D3B6><EFBFBD>
|
|
||||||
void add(T *obj)
|
|
||||||
{
|
|
||||||
objs.append(obj);
|
|
||||||
}
|
|
||||||
|
|
||||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>
|
|
||||||
~AutoDeleteList()
|
|
||||||
{
|
|
||||||
qDeleteAll(objs);
|
|
||||||
}
|
|
||||||
|
|
||||||
private:
|
|
||||||
QList<T *> objs;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
class ExitManager : public QObject
|
class ExitManager : public QObject
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD>˳<EFBFBD>ʱ<EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ķ<EFBFBD><C4B6><EFBFBD>
|
|
||||||
template <typename T>
|
|
||||||
void add(T *obj)
|
|
||||||
{
|
|
||||||
autoDeleteList.add(obj);
|
|
||||||
}
|
|
||||||
|
|
||||||
// <20>˳<EFBFBD>Ӧ<EFBFBD>ó<EFBFBD><C3B3><EFBFBD>
|
// <20>˳<EFBFBD>Ӧ<EFBFBD>ó<EFBFBD><C3B3><EFBFBD>
|
||||||
void exit(int exitCode = 0)
|
void exit(int exitCode = 0)
|
||||||
{
|
{
|
||||||
@ -42,14 +17,8 @@ public:
|
|||||||
sqlite_helper.db.close();
|
sqlite_helper.db.close();
|
||||||
QSqlDatabase::removeDatabase("mydb");
|
QSqlDatabase::removeDatabase("mydb");
|
||||||
// <20><><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD>Ӧ<EFBFBD>ó<EFBFBD><C3B3><EFBFBD><EFBFBD>ź<EFBFBD>
|
// <20><><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD>Ӧ<EFBFBD>ó<EFBFBD><C3B3><EFBFBD><EFBFBD>ź<EFBFBD>
|
||||||
emit exitApplication(exitCode);
|
::exit(exitCode);
|
||||||
}
|
}
|
||||||
|
|
||||||
signals:
|
|
||||||
// <20>˳<EFBFBD>Ӧ<EFBFBD>ó<EFBFBD><C3B3><EFBFBD><EFBFBD>ź<EFBFBD>
|
|
||||||
void exitApplication(int exitCode);
|
|
||||||
|
|
||||||
private:
|
|
||||||
// <20>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>
|
|
||||||
AutoDeleteList<QObject> autoDeleteList;
|
|
||||||
};
|
};
|
Reference in New Issue
Block a user