• 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. SEO规范(部分)

    1:尽量减少AJAX的使用搜索引擎无法检索ajax中的内容,也无法识别javascript代码. 2:拒绝iframe,frame标签iframe,frame会极大的阻碍搜索引擎爬取网站内容. 3:图 ...

  2. 读书笔记8-浪潮之巅(part3)

    浪潮之巅 ——风险投资 <浪潮之巅>的前半部分列举了在现代史上举足轻重的几家大型科技公司的历史,虽说成功的公司各有各的绝招,但是读多之后又略显重复.无聊(这不是说原书的内容.描述是无聊的, ...

  3. 【Python3】POP3协议收邮件

    初学Python3,做一个email的例子,虽然知道做的很渣渣,还是分享一下吧 POP3协议 POP3全称Post Official Protocol3,即邮局协议的第三个版本,它规定了怎样将个人计算 ...

  4. 基于ACE的TAO开发---一个简单的入门实例-----VS2008(一)

    万事开头难,不管做什么事最开始总是最困难的,一旦上手了就好了. 这也是我自己学习corba编程的一点经验和心得.下面的例子主要是保证读者跟着走能立马看到效果. 1.机器上的TAO是实现已经装好的开发版 ...

  5. C#读取EXCEL 并输出到文本框

    #region 加载数据到DataGraidView private void button1_Click(object sender, EventArgs e) { string excelPath ...

  6. python与php生成二维码对比

    php生成二维码 include 引入的库单独下载 <?php header("Content-type:text/html;charset=utf-8"); error_r ...

  7. CSS背景图怎么自适应全屏(手机或者电脑)

    #demo{ background-img:url(../bg.png); --(1)适用于上半部分背景图片,下半部分纯色 将背景图像等比缩放到完全覆盖屏幕,背景图有可能超出屏幕(容器) backgr ...

  8. 树(2)-----leetcode(层、深度、节点)

    1.树的类实现: class TreeNode(object): def __init__(self, x): self.val = x self.left = None self.right = N ...

  9. reMarkable安装教程

    PS :每次都下一遍安装包挺无奈的...... 系统版本 :Ubuntu 16.04 安装包 :remarkable_1.87_all.deb 链接 Here!-> reMarkable 安装步 ...

  10. [luogu P2756 ] 飞行员配对方案问题 (最大流)

    强行做裸题做了两个小时..我果然太水了QAQ 题目背景 第二次世界大战时期.. 题目描述 英国皇家空军从沦陷国征募了大量外籍飞行员.由皇家空军派出的每一架飞机都需要配备在航行技能和语言上能互相配合的2 ...