QT开发之TreeWidget、TreeView控件

本文详细介绍Qt中TreeWidget的使用方法,包括创建、显示、获取节点信息、节点操作、添加快捷菜单、自定义图标及背景颜色等。同时,提供示例代码帮助理解。

1、TreeWidget

PS:主要是用于只有一个根节点的需求

①、显示

拖出TreeWidget控件,名称treeWidget

ui->treeWidget->setColumnCount(1); //设置列数
    ui->treeWidget->setHeaderLabel(tr("图像选择")); //设置头的标题

    QTreeWidgetItem *imageItem1 = new QTreeWidgetItem(ui->treeWidget,QStringList(QString("图像1")));
    imageItem1->setIcon(0,QIcon(":/img/1.png"));
    QTreeWidgetItem *imageItem1_1 = new QTreeWidgetItem(imageItem1,QStringList(QString("Band1"))); //子节点1
    imageItem1_1->setIcon(0,QIcon(":/img/1.png"));
    imageItem1->addChild(imageItem1_1); //添加子节点

//以此类推可以添加更多行

ui->treeWidget->expandAll(); //结点全部展开

效果:

 

②获取(单击/双击)的节点序号:

slots:
void showSelectedImage(QTreeWidgetItem*,int);//单击
void showSelectedImage2(QTreeWidgetItem*,int);//双击

//单击
connect(ui->treeWidget,SIGNAL(itemClicked(QTreeWidgetItem*,int)),this,SLOT(showSelectedImage(QTreeWidgetItem*,int)));

//双击
connect(ui->treeWidget,SIGNAL(itemActivated(QTreeWidgetItem*,int)),this,SLOT(showSelectedImage2(QTreeWidgetItem*,int)));

//单击
void QMySerialPort::showSelectedImage(QTreeWidgetItem *item, int column)//column为列号
{
    //不能判断是那个根节点,只能判断节点的序号
    QTreeWidgetItem *parent = item->parent();
    if(NULL == parent) //注意:最顶端项是没有父节点的,双击这些项时注意(陷阱)
        return;

    int number = parent->indexOfChild(item); //item在父项中的节点行号(从0开始)

    ui->pushButton->setText(QString::number(number));
}

//双击
void QMySerialPort::showSelectedIm
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值