Qt-附加到QList

时间:2015-06-29 10:27:01

标签: c++ qt

我在全球范围内从班级创建了 QList

global.h:

class CLastMessage
{
public:
    QString id;
    QString message;
};
typedef QList<CLastMessage> CLastMessageList;

我在另一个标题中调用它:

message.h:

CLastMessageList m_lastMessage;

但我在向此Qlist添加新值时遇到问题。在 message.cpp 我想添加新的ID和消息,但我不知道如何以最佳方式执行此操作。例如,我想在此列表中添加新ID。这是对的吗?

message.cpp:

CLastMessageList m_lastMessage;
m_lastMessage.id = "1";

1 个答案:

答案 0 :(得分:4)

您的自定义类目前是可分配的,因此您不需要显式的复制构造函数或赋值运算符。

问题是如何将项目添加到列表中:

CLastMessageList m_lastMessage; // this is declaring a new list
m_lastMessage.id = "1"; // this is invalid, as id is not a property of QList

此代码重新声明列表的对象(m_lastMessage)。然后,您尝试将变量设置为列表,但id不是列表的成员,而是可以存储在列表中的对象的成员。因此,首先创建一个对象,然后将其添加到列表中:

CLastMessage message;
message.id = "1";
m_lastMessage.append(message); 
相关问题