基本函数
1)expandAll()
设置所有节点展开
2)setSelectionMode
设置节点多选择,
QAbstractItemView.SelectionMode.MultiSelection:多选(无需按ctrl)
QAbstractItemView.SelectionMode.ExtendedSelection:多选(按住ctrl,一次选一项)
QAbstractItemView.SelectionMode.ContiguousSelection:多选(一次选多项,相当于window下按住shift选文件)
3)setHeaderHidden
隐藏表头,setHeaderHidden(true)
4)addTopLevelItem
添加顶层节点,addTopLevelItem(QTreeWidgetItem *)
5)setCheckState
设置选中状态,setCheckState(0,Qt::Checked),需要获取单个treeitem项,例如
QTreeWidgetItem *topItem = new QTreeWidgetItem(ui->treeWidget);
topItem ->setText(0,“111”);
topItem ->setCheckState(0,Qt::Checked);
ui->treeWidget->addTopLevelItem(topItem );
6)setContextMenuPolicy
打开右键菜单属性
7)setColumnCount
设置列数
8)setHeaderLabels
tree->setHeaderLabels({“Name”, “Value”});设置列标题为 “Name” 和 “Value”
9)QTreeWidgetItem::addChild
为当前结点添加子结点
10)QTreeWidgetItem::addChildren
一次性为当前结点添加多个子结点
11)QTreeWidgetItem::child
获得当前结点的第 index 个子结点
12)QTreeWidgetItem::childCount
获得当前结点拥有的子结点数
13)QTreeWidgetItem::parent
获得当前结点的父结点
13)QTreeWidgetItem::setIcon(int column, const QIcon &icon)
设置当前结点第 column 列的 icon 图标。
QTreeWidgetItem::setText(int column, const QString &text)
设置当前结点第 column 列的文本。
基本用法
1)节点设置数据和获取数据
//设置数据,可以带多种数据
item11->setData(0,Qt::UserRole,100/*人员数量*/);
item11->setData(0,Qt::UserRole+1,"xiaoli"/*负责人名字*/);
//获得数据
item11->data(0,Qt::UserRole).toInt();
item11->data(0,Qt::UserRole+1).toString();
2)右键菜单
ui->treeWidget->setContextMenuPolicy(Qt::CustomContextMenu);//打开右键菜单属性
m_menu = new QMenu(ui->treeWidget);//右键菜单
m_menu->addAction("添加");
m_menu->addAction("删除");
connect(ui->treeWidget,&QTreeWidget::customContextMenuRequested,
this,&Form::slotMenuPopup);
void Form::slotMenuPopup(const QPoint &pos)
{
m_menu->exec(ui->treeWidget->mapToGlobal(pos));
}