【发布时间】:2016-12-15 19:19:55
【问题描述】:
我有一个 QObjects QVector<QWidget*> question_vector; 的 QVector。这些小部件是问题。 (我的申请就像一个问卷调查)。
创建问卷时,从组合框中的选项中选择问题类型,在 Questions 类中,问题被创建并存储在 QVector 中。
void CreateSurvey::comboBox_selection(const QString &arg1)
{
if(arg1 == "Single Line Text")
{
Question *singleLineText = new Question("Single Line Text");
surveyLayout->addWidget(singleLineText);
question_vector.append(singleLineText);
qDebug() << "Number of items: "<< question_vector.size();
} ...
}
void Question::create_singleLineEdit()
{
QVBoxLayout *vLayout = new QVBoxLayout;
QLabel *titleLabel = new QLabel("Title");
vLayout->addWidget(titleLabel);
QLineEdit *inputText = new QLineEdit;
vLayout->addWidget(inputText);
QLabel *commentsLabel = new QLabel("Comments");
vLayout->addWidget(commentsLabel);
QLineEdit *commentsText = new QLineEdit;
vLayout->addWidget(commentsText);
ui->frame->setLayout(vLayout);
}
SingleLineEdit 是widget,title,titleEdit,cmets,cmetsEdit。 如何访问,例如来自小部件的单个组件 cmetsText QLineEdit 的文本?
【问题讨论】:
-
您已经问过类似的问题:stackoverflow.com/questions/41098139/… 并得到了答案。你的问题到底是什么?
-
是的,有 line_edit_vector[index]->text();获取 QVector
line_edit_vector 的文本;所以现在我继续前进并拥有 QVector question_vector;由于添加了不同类型的小部件而不仅仅是 lineedits,所以如果我在 question_vector[3] 的对象中有一个 lineedit,我如何从中获取信息? question_vector[3]->cmetsText->text();不工作