如何点TreeView添加节点

如何点TreeView添加节点,第1张

A的Button事件中:

B

MyForm

=

new

B()

B.ShowDialog(this)

A中写个属性:

public

string

AddNodes

{

set{

A.TreeView1.nodes.add(value)

}

}

B的添加按钮事件中:

A

TheForm

=

(A)this.Owner

if

(TheForm

!=

null)

{

TheForm.AddNodes

=

你输入的名称

}

如果你想对这个节点再进行 *** 作,请指定节名的NAME属性

BIAS0:= (C-MA(C,2))/MA(C,2)*100

BIAS1 := (C-MA(C,12))/MA(C,12)*100

BIAS2 := (C-MA(C,26))/MA(C,26)*100

BIAS3 := (C-MA(C,48))/MA(C,48)*100

HXL:=V/CAPITAL*100

D1:=INDEXC

D2:=MA(D1,56)

DR2:=D1/D2<0.94

E1:=(C-HHV(C,12))/HHV(C,12)*10

E2:=(C-REF(C,26))/REF(C,26)*10

#include"QDebug"

#include"QTreeView"

#include"QStandardItemModel"

#include"QPushButton"

#include"QItemSelectionModel"

#include"QModelIndex"

#include"QStandardItem"

    this->resize(1000,1000)

    //创建树

    QTreeView *treeView=new QTreeView(this)

    treeView->resize(800,800)

    treeView->move(100,100)

    QStandardItemModel *model=new QStandardItemModel(treeView)

    treeView->setModel(model)

    //model->setHorizontalHeaderLabels(QStringList()<<QStringLiteral("项目名")<<QStringLiteral("相关信息1")<<QStringLiteral("相关信息2"))

    //model->setVerticalHeaderLabels(QStringList()<<QStringLiteral("项目名")<<QStringLiteral("相关信息1")<<QStringLiteral("相关信息2"))

    QStandardItem * item = new QStandardItem(tr("item one"))//创建一个条目对象

    model->appendRow(item)

    //去掉表头

    treeView->setHeaderHidden(true)

//利用QList<QStandardItem*>添加节点

    QList itemList1

    QList itemList2

    QStandardItem * item1 = new QStandardItem(tr("item one"))//创建一个条目对象

    itemList1.append(item1)

    QStandardItem * item2 = new QStandardItem(tr("item two"))//创建一个条目对象

    itemList1.append(item2)

    QStandardItem * item3 = new QStandardItem(tr("item three"))//创建一个条目对象

  //  item.push_back(item3)

    QStandardItem * item4 = new QStandardItem(tr("item four"))//创建一个条目对象

  // item.push_back(item4)

    QStandardItem * item5 = new QStandardItem(tr("item five"))//创建一个条目对象

    QStandardItem * item6 = new QStandardItem(tr("item five"))//创建一个条目对象

    itemList2<

    model->appendRow(item3)

    model->appendRow(item4)

    //model->setItem(1,new QStandardItem("123"))

    item3->appendRows(itemList1)

    item2->appendRows(itemList2)

    //item->setChild(0,new QStandardItem("456"))

    //添加子节点

    QPushButton *buttonAdd=new QPushButton(treeView)

    buttonAdd->move(300,700)

    buttonAdd->setText("添加")

    QItemSelectionModel *currentModel=new QItemSelectionModel()

    connect(buttonAdd,&QPushButton::clicked,this,[=](){ 

        QStandardItem *currentModel=model->itemFromIndex(treeView->currentIndex())

        if(model->rowCount()>0)

      {

            currentModel->appendRow(new QStandardItem("333"))

      }

    })

    //删除子节点

    QPushButton *buttonDel=new QPushButton(treeView)

    buttonDel->move(500,700)

    buttonDel->setText("删除")

    connect(buttonDel,&QPushButton::clicked,this,[=](){

        QStandardItem *currentModel=model->itemFromIndex(treeView->currentIndex())

        qDebug()<<"treeView->currentIndex().row()"<currentIndex().row()

        if(model->rowCount()>0)

      {

            if(currentModel->parent())

            {

                currentModel->parent()->removeRow(treeView->currentIndex().row())

            }

            else

            {

                model->removeRow(treeView->currentIndex().row())

                qDebug()<rowCount()

            }

      }

    })

//打开根节点

    treeView->expand(model->indexFromItem(model->item(0)))


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11728777.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存