QT笔记- 使用QTreeView设计项目栏(概要)

 目录

设置目录

隐藏头和不必要的列

禁用最后一列的延伸

内容宽度与窗口宽度的变化关系设置


 

使用QTreeView实现上述截图中左侧的Qt项目栏需要如下几个要点:

设置目录

QFileSystemModel * model = new QFileSystemModel;
model->setRootPath(QDir::currentPath());//设置目录
ui->treeView->setModel(model);
ui->treeView->setRootIndex(model->index(QDir::currentPath()));//要显示的目录

隐藏头和不必要的列

ui->treeView->setHeaderHidden(true);
ui->treeView->hideColumn(1);
ui->treeView->hideColumn(2);
ui->treeView->hideColumn(3);

禁用最后一列的延伸

最后一列的列宽(或选中状态)默认会延伸到QTreeView窗口的最右端,这使得第一列宽度即使没有超出窗口宽度也会出现水平滑条,而且窗口右侧有大量空白,很不规范。为此需要设置如下项:

ui->treeView->header()->setStretchLastSection(false);//禁用最后一列的延伸

内容宽度与窗口宽度的变化关系设置

可以通过如下判断逻辑来编写相关信号槽或重写事件函数:

if(ui->treeView->columnWidth(0) > ui->treeView->width())//第一列宽度大于窗口宽度
    ui->treeView->header()->setSectionResizeMode(0, QHeaderView::Stretch);         //设置第一列的延伸类型为:随窗口
else
    ui->treeView->header()->setSectionResizeMode(0, QHeaderView::ResizeToContents);//设置第一列的延伸类型为:随内容.(会有滑条)

 

Qt是一种流行的跨平台C++应用程序框架,在GUI开发方面非常出色。Qt包含大量的控件,其中一个是树形控件QTreeView。这个控件允许用户显示带有树形视图的数据模型,它是QAbstractItemView的派生类之一。 QTreeView控件具有以下特点: 1. 显示数据模型 - QTreeView控件显示控件绑定的数据模型。用户可以打开和关闭节点以显示或隐藏子节点。 2. 树的构建 - 树的层次结构是通过节点之间的父子关系来定义的。最上面的节点称为根节点,其余的为子节点。 3. 定制化 - QTreeView控件可以被用户定制。用户可以通过设置控件的颜色、字体、大小和对齐方式等来将控件表现为自己想要的样子。 4. 功能强大 - QTreeView控件有很多内置的功能,包括可排序、可过滤、可编辑等等。它也允许用户通过自定义delegate,来实现额外的交互行为。 下面是一些使用QTreeView控件的示例: 1. 创建一个QTreeView控件: QTreeView *treeView = new QTreeView(parent); 2. 设置它的数据模型: QStandardItemModel *model = new QStandardItemModel(parent); treeView->setModel(model); 3. 填充数据模型: QStandardItem *rootItem = model->invisibleRootItem(); QStandardItem *item1 = new QStandardItem("Item 1"); QStandardItem *item2 = new QStandardItem("Item 2"); rootItem->appendRow(item1); rootItem->appendRow(item2); 4. 显示控件: treeView->show(); QTreeView控件是一个非常强大的控件,可以用于各种情况下。它可以轻松地显示大量的数据,并让用户轻松地翻阅它们。在GUI开发中,QTreeView控件是一个非常有用的控件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值