【发布时间】:2014-02-02 13:21:32
【问题描述】:
我正在尝试使用Qt 中的QVector 类来工作(对我来说:P)。我想要做的是将对象Question 的多个实例放在QVector 中。
我参加了多个论坛,但对于我来说,它们都太复杂了,因为我是初学者。 这是one post was perfect,但我没有找到解决问题的方法。
所以我求助于你!
这是我想要工作的功能:
创建包/向量的部分
/**
* @brief MenuQuestionnary::assembleQuiz
* Assemble the bundle of question that will be used in Quiz class
*/
void MenuQuestionnary::assembleQuiz(){
QVector<Question> vectorQuiz;
vectorQuiz.reserve(spinBoxNumberOfQuestion->value());
for(int i = 0; i <= spinBoxNumberOfQuestion->value(); i++){
vectorQuiz.append(Question((qrand()% maximumNumberOfQuestionAvailable)));
}
}
这是我的问题构造函数:
Question::Question(int id)
{
this->questionId = id;
//TODO: Actually get it from DB
this->questionText = "2+2?";
this->explanation = "Addition mechanics";
this->creatorId = 1;
}
我希望在这里做的是将Question 对象的选定编号放入vector。之后我可以将它传递给另一个班级。从那里我应该能够从中提取文本(questionText 和 questionExplanation)。
【问题讨论】:
-
你不能半途而废地改变你的问题。否则,您会使所有引用问题原始实例的答案无效。
-
我应该开始一个新线程吗?我所做的只是在声明我的 qvector 后将 int 改为 Question
-
现在有什么问题?
-
Append 似乎不存在于向量中,因为我声明它是一个问题向量。我的一位朋友告诉我使用 QList。我回家的时候试试。你有什么建议吗?
-
您能否发布整个代码(在问题中)以及您使用
QVector的部分和预期结果?