zoukankan      html  css  js  c++  java
  • 7.treeview

    • ui
    • mainwindow.h
       1 #ifndef MAINWINDOW_H
       2 #define MAINWINDOW_H
       3 
       4 #include <QMainWindow>
       5 #include <QStringData>
       6 #include <QStringList>
       7 #include <QStringListModel>
       8 
       9 namespace Ui {
      10 class MainWindow;
      11 }
      12 
      13 class MainWindow : public QMainWindow
      14 {
      15     Q_OBJECT
      16 
      17 public:
      18     explicit MainWindow(QWidget *parent = 0);
      19     ~MainWindow();
      20 
      21     void inittree();
      22 
      23 private slots:
      24     void on_pushButton_clicked();
      25 
      26 private:
      27     Ui::MainWindow *ui;
      28     QStringListModel *slm;
      29     QStringList *sl;
      30 };
      31 
      32 #endif // MAINWINDOW_H
    • mainwindow.cpp
       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 }
  • 相关阅读:
    java线程(1)-线程同步
    Scala:(3)数组
    Codeforces 899F Letters Removing
    拼图游戏的可解性
    Hash
    哈夫曼编码
    莫比乌斯
    FFT
    Ropes
    区间合并
  • 原文地址:https://www.cnblogs.com/xiaochi/p/8744452.html
Copyright © 2011-2022 走看看