栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

Qt笔记——QTreeView树状目录基本使用方法

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Qt笔记——QTreeView树状目录基本使用方法

Qt自带了QTreeView控件用于树形菜单的展示,记录基本的使用方法。

一、在QT设计师中拖入一个QTreeView控件

二、代码
// 1、用model管理数据与视图的关系
QStandardItemModel* model = new QStandardItemModel(ui.treeView); //创建模型指定父类
model->setHorizontalHeaderLabels(QStringList() << "Title"); // 设置表头
​
QStringList primaryTitle;
QStringList secondaryTitle;
QList titleLength;
primaryTitle << "一级标题1"<< "一级标题2" << "一级标题3";
secondaryTitle << "二级标题1" << "二级标题2" << "二级标题3" << "二级标题4" << "二级标题5" << "二级标题6";
titleLength << 1 << 2 << 3;
int start = 0;
for (int i1 = 0; i1 < primaryTitle.length(); i1++){
    // 一级节点
    QString subprimaryTitle = primaryTitle[i1];
    QList items1;
    QStandardItem* item1 = new QStandardItem(subprimaryTitle);
    //item1->setFont(fontChoose);
    items1.append(item1);
    model->appendRow(items1);
​
    //二级节点
    for (int i2 = 0; i2 < titleLength[i1]; i2++){
        QList items2;
        QStandardItem* item3 = new QStandardItem(secondaryTitle[start + i2]);
        items2.append(item3);
        item1->appendRow(items2);
    }
    start += titleLength[i1];
}
// 2、给QTreeView应用model
ui.treeView->setModel(model);
三、效果

四、其他设置
// 设置不可编辑
ui.treeView->setEditTriggers(QAbstractItemView::NoEditTriggers);
// 利用QFont设置字体加粗
QFont fontBold;
fontBold.setBold(true);
item1->setFont(fontBold);
// 设置默认展开状态
ui.treeView->expandAll();

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/892577.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号