#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)))
C#里treeview向指定NAME节点添加子节点时应就这样做:
先要用treenode定义节点对象。
TreeView1.SelectedNode.ChildNodes.Add //给选中的添加。
TreeView1.Nodes[index].ChildNodes.Add //给指定index的节点添加。
TreeView控件用来显示信息的分级视图,如同Windows里的资源管理器的目录。TreeView控件中的各项信息都有一个与之相关的Node对象。
TreeView显示Node对象的分层目录结构,每个Node对象均由一个Label对象和其相关的位图组成。在建立TreeView控件后,我们可以展开和折叠、显示或隐藏其中的节点。
TreeView控件一般用来显示文件和目录结构、文档中的类层次、索引中的层次和其他具有分层目录结构的信息。
BIAS0:= (C-MA(C,2))/MA(C,2)*100BIAS1 := (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
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)