• ui
  • mainwindow.h
     #ifndef MAINWINDOW_H
    #define MAINWINDOW_H #include <QMainWindow>
    #include <QStringData>
    #include <QStringList>
    #include <QStringListModel> namespace Ui {
    class MainWindow;
    } class MainWindow : public QMainWindow
    {
    Q_OBJECT public:
    explicit MainWindow(QWidget *parent = );
    ~MainWindow(); void inittree(); private slots:
    void on_pushButton_clicked(); private:
    Ui::MainWindow *ui;
    28 QStringListModel *slm;
    29 QStringList *sl;
    }; #endif // MAINWINDOW_H
  • mainwindow.cpp
     #include "mainwindow.h"
    #include "ui_mainwindow.h" MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
    {
    ui->setupUi(this);
    inittree();
    } MainWindow::~MainWindow()
    {
    delete ui;
    } 17 //创建一个树
    18 void MainWindow::inittree()
    19 {
    20 ui->treeWidget->clear();
    21 //初始化
    22 QTreeWidgetItem *group1 = new QTreeWidgetItem(ui->treeWidget);
    23 group1->setText(0,"父1");
    24
    25 QTreeWidgetItem *sub1 = new QTreeWidgetItem(group1);
    26 QTreeWidgetItem *sub2 = new QTreeWidgetItem(group1);
    27 QTreeWidgetItem *sub3 = new QTreeWidgetItem(group1);
    28 sub1->setText(0,"子1");
    29 sub2->setText(0,"子2");
    30 sub3->setText(0,"子3");
    31
    32 QTreeWidgetItem *ssub1 = new QTreeWidgetItem(sub1);
    33 QTreeWidgetItem *ssub2 = new QTreeWidgetItem(sub1);
    34 QTreeWidgetItem *ssub3 = new QTreeWidgetItem(sub1);
    35 ssub1->setText(0,"孙1");
    36 ssub2->setText(0,"孙2");
    37 ssub3->setText(0,"孙3");
    38
    39 QTreeWidgetItem *sssub1 = new QTreeWidgetItem(sub2);
    40 QTreeWidgetItem *sssub2 = new QTreeWidgetItem(sub2);
    41 QTreeWidgetItem *sssub3 = new QTreeWidgetItem(sub2);
    42 sssub1->setText(0,"孙1");
    43 sssub2->setText(0,"孙2");
    44 sssub3->setText(0,"孙3");
    45
    46 QTreeWidgetItem *ssssub1 = new QTreeWidgetItem(sub3);
    47 QTreeWidgetItem *ssssub2 = new QTreeWidgetItem(sub3);
    48 QTreeWidgetItem *ssssub3 = new QTreeWidgetItem(sub3);
    49 ssssub1->setText(0,"孙1");
    50 ssssub2->setText(0,"孙2");
    51 ssssub3->setText(0,"孙3");
    52 }

    void MainWindow::on_pushButton_clicked()
    {
    //模型
    57 slm = new QStringListModel(this);
    58 //列表
    59 sl = new QStringList();
    60 //迭代器遍历树
    61 QTreeWidgetItemIterator it(ui->treeWidget);
    62 while(*it)
    63 {
    64 sl->append((*it)->text(0));
    65 ++it;
    66 }
    67
    68 //模型链接列表
    69 slm->setStringList(*sl);
    70 ui->listView->setModel(slm);
    }

7.treeview的更多相关文章

  1. MVC树控件,mvc中应用treeview,实现复选框树的多层级表单控件

    类似于多层级的角色与权限控制功能,用MVC实现MVC树控件,mvc中应用treeview,实现复选框树的多层级表单控件.最近我们的项目中需要用到树型菜单,以前使用WebForm时,树型菜单有微软提供的 ...

  2. WPF 自定义列表筛选 自定义TreeView模板 自定义ListBox模板

    有很多项目,都有数据筛选的操作.下面提供一个案例,给大家做参考. 左侧是数据源,搜索框加TreeView控件,右侧是ListBox控件.在左侧数据列点击添加数据,然后点击确定,得到所筛选的数据. 下面 ...

  3. WinForm 进程、线程、TreeView递归加载、发送邮件--2016年12月13日

    进程:一个程序就是一个进程,但是也有一个程序需要多个进程来支持的情况 进程要使用的类是:Process它在命名空间:System.Diagnostics; 静态方法Start(); Process.S ...

  4. wpf TreeView

    <Window x:Class="WpfTutorialSamples.TreeView_control.TreeViewDataBindingSample"        ...

  5. 【转载】关于treeview的多层显示的科学用法!

    http://blogs.msdn.com/b/mikehillberg/archive/2009/10/30/treeview-and-hierarchicaldatatemplate-step-b ...

  6. winform进程、线程、TreeView递归加载

    进程: 一般来说,一个程序就是一个进程,不过也有一个程序需要多个进程支持的情况. 进程所使用的类:Process 所需命名空间:System.Diagnostics; 可以通过进行来开启计算机上现有的 ...

  7. TreeView 使用方法:(在View.Details模式下)

    1.建立TreeView的標題         2.建立TreeView的Item         3.在TreeView的Item中的建立SubItem                  如果將各部 ...

  8. ASP.NET通过递归添加树(Treeview)

    先来看看效果,基本上就是这样的. 所谓树,无非就是2点,第一个:根节点,第二:叶子节点,其中叶子节点中还可能有叶子节点,但是根节点始终只有一个. 下面贴上 各部分的代码 1.PAGE_LOAD载入事件 ...

  9. TreeView控件使用

    treeView1.SelectedNode = treeView1.Nodes[0];  //选中当前treeview控件的根节点为当前节点添加子节点:  TreeNode tmp; tmp = n ...

  10. 怎样制作web版的folder treeview

    文件夹treeview的效果 这样的treeview在实际项目中使用的场景较多. 既然用的多,那就DIY一遍,虽没有面面俱到,但也要将其基本实现完成一遍. 1.先准备图标素材  file.gif,文件 ...

随机推荐

  1. SQLServer修改表字段时进行表连接

    update A set A.XXX='XXXX'from TableA  Ainner join TableB B on B.XX=A.XXwhere XXXXX

  2. MySQL 5.6 Reference Manual-14.5 InnoDB Tablespace Management

    14.5 InnoDB Tablespace Management   14.5.1 Resizing the InnoDB System Tablespace 14.5.2 Changing the ...

  3. MySQL数据库的使用流程,代码解释+Hibernate连接数据库

    数据库的使用流程: 1.注册驱动: 2.用DriverManager.getConnection方法获得连接对象con: A方法:  3.用连接对象的createStatement()方法,获得可以执 ...

  4. VS2012编译PCL1.70的过程

    以防博主删除文档,重新copy一遍... 关于个人的几个注意事项: 对于boost,可以使用vc100的库,来编译VC110的代码: 对于确实的包含,一个一个添加,要耐心等待!!! 原文链接:http ...

  5. associatedtype关联类型

    associatedtype关联类型   定义一个协议时,有的时候声明一个或多个关联类型作为协议定义的一部分将会非常有用.关联类型为协议中的某个类型提供了一个占位名(或者说别名),其代表的实际类型在协 ...

  6. layui table 时间戳

    , { field: , title: '时间', templet: '<div>{{ laytpl.toDateString(d) }}</div>' }, 或者 , { f ...

  7. CorelDRAW X6、X7&2018,500现金返利等你拿!

    购物狂欢节要来了,你准备好了么? 不知何时起,四根神棍的日子却成了大家拼爹.拼钱包.拼手速.拼网速.拼钱包...各种火拼日子 你是从哪年关注并重视双11的,记得小编我第一次邂逅双11真的只是凑凑热闹 ...

  8. angular 常用写法

    1.ng-repeat 数组数据中,不允许数组中有相同的两个数据,这个时候用下标去管理数据便可以解决这个问题 ng-repeat="item in list track by $index& ...

  9. ubuntu16.04 国内源(网易、阿里)

    ubuntu16.04 网易源 deb http://mirrors.163.com/ubuntu/ xenial main restricted universe multiversedeb htt ...

  10. Noip2011 Mayan游戏 搜索 + 模拟 + 剪枝

    写了一下午,终于AC了. 由于n<=5, 所以不需要太多的剪枝和技巧也能过.可以将操作后的消方块和下落和剪枝函数写到一个结构体中,这样会减少调试难度,更加简洁. 可以采用如下剪枝: 1. 如果当 ...