我希望在QTreeWidget中分层显示从数据库中提取的一些数据。
我认为这样做的一种方法是将数据转换为QTreeWidgetItem
s。
但是这样,我必须在运行时创建对象(QTreeWidgetItem
s)。这就是问题所在。我不知道该怎么做。
我该怎么做?或者有更好的方式来展示它吗?
我想要的例子:
编辑:
将按层次检索和显示的数据是: 大学,地区,职业和每个人的总金额。
编辑2:
如果您需要,我会添加更多信息:
QTreeWidgetItem *itm = new QTreeWidgetItem(ui->treeWidget);
itm->setText(0, "University 1");
QTreeWidgetItem *itm2 = new QTreeWidgetItem(itm);
itm2->setText(0,"Area 1 ");
QTreeWidgetItem * itm3 = new QTreeWidgetItem(itm2);
itm3->setText(0,"Lawyer");
QTreeWidgetItem *itm4 = new QTreeWidgetItem(ui->treeWidget);
itm4->setText(0, "University 2");
QTreeWidgetItem *itm5 = new QTreeWidgetItem(itm4);
itm5->setText(0, "Area 2");
QTreeWidgetItem *itm6 = new QTreeWidgetItem(itm5);
itm6->setText(0, "Systems engineering");
上面的代码就像我想要但硬编码。我需要使用从DB检索的动态信息来执行此操作。我可以把记录带到记忆中,这不是问题。问题是如何在不同的QTreeWidgetItem中显示这些记录,因为"对象" (DB的记录)可以在不同的时间或多或少。
EDIT3 - 已解决:
我认为我必须动态创建对象。 我不知道我可以这样做:
for(int i = 0; i < 10; i++){
QTreeWidgetItem *item = new QTreeWidgetItem(ui->treeWidget);
item->setText(0, QString::number(i));
}