默认情况下,树最左侧的展开按钮是无法选中的,如下图所示:
下面使用stylesheet来实现整行悬浮(hover)和选中(selected),并修改悬浮和选中时的背景色。
一效果

二实现
ui->treeView->setStyleSheet(
"QTreeView{show-decoration-selected: 1;"
"outline: none}"
"QTreeView::item{height: 30px}"
"QTreeView::item:hover, QTreeView::branch:hover{color: black;"
"background-color: rgb(229, 229, 229)}"
"QTreeView::item:selected, QTreeView::branch:selected{color: black;"
"background-color: rgb(200, 200, 200)}"
"QTreeView::branch:closed:has-children{image: url(:/icons/right.png)}"
"QTreeView::branch: