QList<QTreeWidgetItem > rootList;//创建一个QList队列,队列名字叫做rootList,队列中每个元素是QTreeWidgeItem指针。(QTreeWidgetItem是树状图控件的一个节点)
rootList << root;//表示把root节点放到rootList中去。
tree->insertTopLevelItems(0, rootList); //把rootList中的所有节点,挂载到tree控件的顶层。
//这是方法一:
//适用于子节点较少时
bool eventFilter(QObject pObject, QEvent pEvent)
{
if(QEvent::MouseButtonPress == pEventtype() / 判断是不是按键事件 /)
{
QMouseEvent pMouseEvent = static_cast<QMouseEvent>(pEvent);
if(Qt::RightButton == pMouseEvent->button() / 判断是不是右键按下 /)
{
if(pObject == / 判断 pObject是否等于某个treeWidgetItem/)
{
/ 显示不同的菜单 /
}
}
}
}
//方法二:
//就是继承,重载按键事件
//适用于子节点较多,以及子节点右键菜单多而不同情况
通过实现
itemClicked
(QTableWidgetItem
)
信号的槽函数,就可以获得鼠标单击到的单元格指针,获得到了当前的位置信息
connect(tableWidget,SIGNAL(itemDoubleClicked(QTreeWidgetItem,int)),this,
SLOT(
getItem(QTreeWidgetItem,int))
);
通过
QTreeWIdgetltem
你可以获得到你想要的全部数据
ui->treeWidget->setColumnCount(1); //设置列数ui->treeWidget->setHeaderLabel(tr("图像选择")); //设置头的标题QTreeWidgetItem imageItem1 = new QTreeWidgetItem(ui->treeWidget,QStringList(QString("图像1")));imageItem1->setIcon(0,QIcon("xxxpng"));QTreeWidgetItem imageItem1_1 = new QTreeWidgetItem(imageItem1,QStringList(QString("Band1"))); //子节点1imageItem1->addChild(imageItem1_1); //添加子节点QTreeWidgetItem imageItem2 = new QTreeWidgetItem(ui->treeWidget,QStringList(QString("图像2")));QTreeWidgetItem imageItem2_1 = new QTreeWidgetItem(imageItem2,QStringList(QString("Band1"))); //子节点1QTreeWidgetItem imageItem2_2 = new QTreeWidgetItem(imageItem2,QStringList(QString("Band2"))); //子节点2imageItem2->addChild(imageItem2_1); //添加子节点imageItem2->addChild(imageItem2_2);ui->treeWidget->expandAll(); //结点全部
ui->treeWidget->setColumnCount(1); //设置列数ui->treeWidget->setHeaderLabel(tr("图像选择")); //设置头的标题QTreeWidgetItem imageItem1 = new QTreeWidgetItem(ui->treeWidget,QStringList(QString("图像1")));
imageItem1->setIcon(0,QIcon("xxxpng"));
QTreeWidgetItem imageItem1_1 = new QTreeWidgetItem(imageItem1,QStringList(QString("Band1"))); //子节点1
imageItem1->addChild(imageItem1_1); //添加子节点
QTreeWidgetItem imageItem2 = new QTreeWidgetItem(ui->treeWidget,QStringList(QString("图像2")));
QTreeWidgetItem imageItem2_1 = new QTreeWidgetItem(imageItem2,QStringList(QString("Band1"))); //子节点1
QTreeWidgetItem imageItem2_2 = new QTreeWidgetItem(imageItem2,QStringList(QString("Band2"))); //子节点2
imageItem2->addChild(imageItem2_1); //添加子节点
imageItem2->addChild(imageItem2_2);
ui->treeWidget->expandAll(); //结点全部展开
以上就是关于新手求助,Qt问题,下面那段代码是什么意思全部的内容,包括:新手求助,Qt问题,下面那段代码是什么意思、qt treewidget 不同子节点触发不同右键菜单、QT Qtablewidget数组,鼠标双击获取行与列应该怎么实现等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)