我从全局类中创建了 QList。
global.h:
class CLastMessage
{
public:
QString id;
QString message;
};
typedef QList<CLastMessage> CLastMessageList;
我在另一个标题中调用了它:
message.h:
CLastMessageList m_lastMessage;
但我在将新值附加到此 Qlist 时遇到问题。在 message.cpp 我想附加新的 id 和消息,但我不知道如何以最好的方式做到这一点。例如我想向这个列表中添加新的 id。这是对的吗?
消息.cpp:
CLastMessageList m_lastMessage;
m_lastMessage.id = "1";
最佳答案
您的自定义类目前是可赋值的,因此您不需要显式复制构造函数或赋值运算符。
问题在于如何将项目添加到列表中:
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);
关于c++ - Qt-追加到QList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31113327/