1 #include "mainwindow.h"
2 #include "ui_mainwindow.h"
3
4 MainWindow::MainWindow(QWidget *parent) :
5 QMainWindow(parent),
6 ui(new Ui::MainWindow)
7 {
8 ui->setupUi(this);
9 inittree();
10 }
11
12 MainWindow::~MainWindow()
13 {
14 delete ui;
15 }
16
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 }
53
54 void MainWindow::on_pushButton_clicked()
55 {
56 //模型
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);
71 }