如何给QTreeView的节点显示图标

要显示节点图标,就在重写模型的时候在DecorationRole角色时返回要显示的图标就可以了

Node *node = nodeFromIndex(index);

 if (role == Qt::DecorationRole){

switch(node->item){

case Node:: Root: return QIcon(":/images/ras.ico");

case Node::Downloading: return QIcon(":/images/Download.png");

case Node::Downloaded: return QIcon(":/images/Misc-Stuff.png");

case Node::Daily: return QIcon(":/images/Database.png");

case Node::Timespace:

return QIcon(":/images/Software.ico");

 }

}

 

//如果设置 show-decoration-selected:1会导致点击选中后,前面branch区域背景为高亮的橙色.

    ui->treeView->setVerticalScrollBarPolicy ( Qt::ScrollBarAlwaysOff ) ;

              ui->treeView->setStyleSheet(   \
                      " QTreeView { \
                                    show-decoration-selected: 0; \
                                } \
                                \
                                QTreeView::item { \
                                    show-decoration-selected: 0; \
                                    background-image:url(image/list_bg02.png); \
                                } \
                                QTreeView::item:selected{ \
                                    background-image:url(image/list_bg01a.png); \
                                }  \
             QTreeView::branch { \
                      selection-color: transparent; \
              } \
              QTreeView::branch:closed:has-children:has-siblings { \
                      image: url(image/icon_add.png); \
              } \
               \
              QTreeView::branch:has-children:!has-siblings:closed { \
                      image: url(image/icon_add.png); \
              } \
               \
              QTreeView::branch:open:has-children:has-siblings { \
                      image: url(image/icon_reduce.png); \
              } \
\
              QTreeView::branch:open:has-children:!has-siblings { \
                      image: url(image/icon_reduce.png); \
              }");

 


    ui->treeView->setAttribute(Qt::WA_MacShowFocusRect, 0);
    ui->treeView->setFocusPolicy(Qt::NoFocus);
    ui->treeView->setEditTriggers(QAbstractItemView::NoEditTriggers);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值