树控件跟表格控件类似,也可以有多列,也可以只有1列,可以有多行,只不过每一行都是一个QTreeWidgetItem,每一行都是一个可以展开的树
常用属性和方法
显示和隐藏标题栏
树控件只有水平标题栏
//获取和设置标题栏的显隐
bool isHeaderHidden() const
void setHeaderHidden(bool hide)
//隐藏标题栏
tree->setHeaderHidden(true);
还可以先获取到树控件的标题栏,然后调用标题栏的方法,来设置标题栏是否可见
//设置标题栏是否可见
void QHeaderView::setVisible(bool v)
//隐藏标题栏
tree->header()->setVisible(false);
点击标题栏排序
//获取和设置标题栏是否开启了排序
bool isSortingEnabled() const
void setSortingEnabled(bool enable)
//开启排序
tree->setSortingEnabled(true);
开启点击标题栏会出现一个排序箭头,点击标题栏,就会根据当前列排序

动画效果
开启树控件里面的条目展开时会有一个缓冲效果,而不是立即展开
//获取和设置动画效果
bool isAnimated() const
void setAnimated(bool enable)
//开启动画效果
tree->setAnimated(true);
没开启:

开启了,条目的展开有一定的缓冲:

滚动条的显示和隐藏
//设置和获取水平滚动条的显隐
Qt::ScrollBarPolicy horizontalScrollBarPolicy() const
void setHorizontalScrollBarPolicy(Qt::ScrollBarPolicy)
//设置和获取垂直滚动条的显隐
Qt::ScrollBarPolicy verticalScrollBarPolicy() const
void setVerticalScrollBarPolicy(Qt::ScrollBarPolicy)
//隐藏水平和垂直滚动条
tree->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
tree->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
Qt::ScrollBarPolicy有三种取值:
- Qt::ScrollBarAsNeeded,控件宽高太小导致内容显示不全时滚动条会出现
- Qt::ScrollBarAlwaysOff,总是关闭
- Qt::ScrollBarAlwaysOn,总是开启
开启:

选择模式
单选、多选、按住ctrl键多选,shift键多选...
//获取和设置控件的选择模式
QAbstractItemView::SelectionMode selectionMode() const
void setSelectionMode(QAbstractItemView::SelectionMode mode)
//设置为多选,既可以按shift也可以按ctrl键选择
tree->setSelectionMode(QAbstractItemView::ExtendedSelection);
mode有5种取值:
- QAbstractItemView::SingleSelection,只能但选
- QAbstractItemView::ContiguousSelection,按住ctrl键可以多选
- QAbstractItemView::ExtendedSelection,按住ctrl或者shift键可以多选
- QAbstractItemView::MultiSelection,只要点击就能多选
- QAbstractItemView::NoSelection,不能选择</

最低0.47元/天 解锁文章
2547

被折叠的 条评论
为什么被折叠?



