QTreeWidget 简单使用
效果图:
关键代码:
void MainProj::_InitTree()
{
connect(m_pTreeWidget, SIGNAL(itemClicked(QTreeWidgetItem*, int)), this, SLOT(TreeItemClicked(QTreeWidgetItem*, int)));
m_pTreeWidget->header()->setHidden(1);
/*QTreeWidgetItem* topItem = new QTreeWidgetItem;
topItem->setCheckState(0, Qt::Unchecked);
topItem->setText(0, "liebiao");*/
m_pTreeWidget->setColumnCount(2);
m_pTreeWidget->setColumnWidth(0, 200);
QTreeWidgetItem* topItem = _AddTreeItem(m_pTreeWidget, nullptr, "根");
m_pTreeWidget->addTopLevelItem(topItem);
QTreeWidgetItem* item1 = _AddTreeItem(m_pTreeWidget, topItem, "目标1");
//item1->setIcon(0,)
QList<QString> listTarget;
listTarget << "11" << "12";
for (int i = 0; i < listTarget.count(); i++) {
_AddTreeItem(m_pTreeWidget, item1, listTarget.at(i));
}
QTreeWidgetItem* item2 = _AddTreeItem(m_pTreeWidget, topItem, "目标2");
listTarget.clear();
listTarget << "21" << "22" << "23";
for (int i = 0; i < listTarget.count(); i++) {
_AddTreeItem(m_pTreeWidget, item2, listTarget.at(i));
}
QTreeWidgetItem* item3 = _AddTreeItem(m_pTreeWidget, topItem, "目标3");
listTarget.clear();
listTarget << "31" << "32" << "33" << "34";
for (int i = 0; i < listTarget.count(); i++) {
_AddTreeItem(m_pTreeWidget, item3, listTarget.at(i));
}
m_pTreeWidget->expandAll();
}
QTreeWidgetItem* MainProj::_AddTreeItem(QTreeWidget* pTree, QTreeWidgetItem* parentItem, const QString& itemTxt)
{
QTreeWidgetItem* item = new QTreeWidgetItem(parentItem);
item->setFlags(item->flags() | Qt::ItemIsUserCheckable);
item->setCheckState(0, Qt::Unchecked);
item->setText(0, itemTxt);
QIcon icon(":/MMIProject/Resource/Help.ico"); // 设置图标路径,替换为实际路径
item->setIcon(0, icon); // 在第一列设置图标
item->setText(1, QString("success"));
QIcon icon1(":/MMIProject/Resource/LedOn.ico"); // 设置图标路径,替换为实际路径
item->setIcon(1, icon1); // 在第一列设置图标
return item;
}