为什么这段代码在关闭程序的时候会弹出错误呢?我觉得是Layout静态分配的问题,谁能帮我具体解答一下?
MainDialog.h
#ifndef MAINDIALOG_H
#define MAINDIALOG_H
#include <QDialog>
#include <QPushButton>
#include <QLineEdit>
#include <QTabWidget>
#include <QTreeWidget>
#include <QLayout>
class MainDialog : public QDialog
{
Q_OBJECT
public:
MainDialog(QWidget *parent=0);
~MainDialog();
private:
QTabWidget *catalog;
QTreeWidget *person;
QTreeWidget *affair;
QPushButton searchButton;
QLineEdit searchLineEdit;
QHBoxLayout hLayout;
QVBoxLayout vLayout;
};
#endif // MAINDIALOG_H
-----------------------------------------------------------------------------------------------------------------------------
MainDialog.cpp
#include "MainDialog.h"
MainDialog::MainDialog(QWidget *parent)
:QDialog(parent)
{
QStringList strList1;
QStringList strList2;
strList1<<"name"<<"secret";
strList2<<"time"<<"location"<<"content";
person = new QTreeWidget();
affair = new QTreeWidget();
person->setHeaderLabels(strList1);
affair->setHeaderLabels(strList2);
catalog = new QTabWidget();
catalog->addTab(person,tr("person"));
catalog->addTab(affair,tr("affair"));
hLayout;
hLayout.addWidget(&searchLineEdit);
hLayout.addWidget(&searchButton);
vLayout;
vLayout.addWidget(catalog);
vLayout.addLayout(&hLayout);
setLayout(&vLayout);
}
MainDialog::~MainDialog()
{
//delete person;
//delete affair;
//delete catalog;
}