帮我用QT写一个容器,容器内容包含“报警分类”“报警编号”“报警详细说明”,类型是QString
时间: 2023-09-07 15:13:32 浏览: 118
好的,我理解你的需求了,下面是一个简单的容器示例代码,使用QT的QList容器,包含三个成员变量,分别表示“报警分类”、“报警编号”、“报警详细说明”,类型均为QString:
```cpp
#ifndef ALARMCONTAINER_H
#define ALARMCONTAINER_H
#include <QString>
#include <QList>
class AlarmContainer
{
public:
AlarmContainer(const QString& category, const QString& id, const QString& description);
~AlarmContainer();
void setCategory(const QString& category);
QString getCategory() const;
void setID(const QString& id);
QString getID() const;
void setDescription(const QString& description);
QString getDescription() const;
private:
QString m_category;
QString m_id;
QString m_description;
};
class AlarmList : public QList<AlarmContainer*>
{
public:
AlarmList();
~AlarmList();
void addAlarm(const QString& category, const QString& id, const QString& description);
};
#endif // ALARMCONTAINER_H
```
```cpp
#include "alarmcontainer.h"
AlarmContainer::AlarmContainer(const QString& category, const QString& id, const QString& description)
: m_category(category), m_id(id), m_description(description)
{
}
AlarmContainer::~AlarmContainer()
{
}
void AlarmContainer::setCategory(const QString& category)
{
m_category = category;
}
QString AlarmContainer::getCategory() const
{
return m_category;
}
void AlarmContainer::setID(const QString& id)
{
m_id = id;
}
QString AlarmContainer::getID() const
{
return m_id;
}
void AlarmContainer::setDescription(const QString& description)
{
m_description = description;
}
QString AlarmContainer::getDescription() const
{
return m_description;
}
AlarmList::AlarmList()
{
}
AlarmList::~AlarmList()
{
for (int i = 0; i < this->size(); ++i)
{
delete this->at(i);
}
}
void AlarmList::addAlarm(const QString& category, const QString& id, const QString& description)
{
this->append(new AlarmContainer(category, id, description));
}
```
这个容器包含两个类,AlarmContainer 类表示一个报警项,AlarmList 类则是 AlarmContainer 的容器。你可以通过在 AlarmList 中调用 addAlarm 方法,向容器中添加一个 AlarmContainer 对象。每个 AlarmContainer 对象包含三个字符串属性,分别表示“报警分类”、“报警编号”、“报警详细说明”。
使用示例:
```cpp
// 创建一个报警列表
AlarmList alarmList;
// 添加报警项
alarmList.addAlarm("分类1", "编号1", "详细说明1");
alarmList.addAlarm("分类2", "编号2", "详细说明2");
// 遍历报警列表
for (int i = 0; i < alarmList.size(); ++i)
{
AlarmContainer* alarm = alarmList.at(i);
// 输出报警项信息
qDebug() << "报警分类:" << alarm->getCategory();
qDebug() << "报警编号:" << alarm->getID();
qDebug() << "报警说明:" << alarm->getDescription();
}
```
阅读全文