首页 > 其他分享 >QTreeWidget

QTreeWidget

时间:2024-01-18 17:58:20浏览次数:19  
标签:FileViewPanelCreator QTreeWidget QTreeWidgetItem connect treeWidget popMenu acti

一、双击编辑

1、定义连接

    connect(m_treeWidget, &QTreeView::doubleClicked, this, &FileViewPanelCreator::onItemDoubleClicked);
    connect(m_treeWidget->itemDelegate(), &QAbstractItemDelegate::closeEditor, this, &FileViewPanelCreator::onCloseEditor);

 

2、实现函数

// 槽函数,处理双击事件
void FileViewPanelCreator::onItemDoubleClicked(const QModelIndex &index) {
    if (index.isValid()) {
        QTreeWidgetItem* root = m_treeWidget->topLevelItem(0);
        QTreeWidgetItem* item = root->child(index.row());
        m_treeWidget->openPersistentEditor(item);
    }
}

// 槽函数,处理编辑完成事件
void FileViewPanelCreator::onCloseEditor(QWidget *editor, QAbstractItemDelegate::EndEditHint hint) {
    Q_UNUSED(hint);
// 在此处理编辑完成后的操作
    QModelIndex editedIndex = m_treeWidget->currentIndex();
    QTreeWidgetItem* root = m_treeWidget->topLevelItem(0);
    QTreeWidgetItem* item = root->child(editedIndex.row());
    m_treeWidget->closePersistentEditor(item);
}

 

二、鼠标右键菜单

1、定义连接

m_treeWidget->setContextMenuPolicy(Qt::CustomContextMenu);//必须添加
connect(m_treeWidget, &QTreeWidget::customContextMenuRequested, this, &FileViewPanelCreator::onTreeWidgetCustomContextMenuRequested);

 

2、实现函数

void FileViewPanelCreator::onTreeWidgetCustomContextMenuRequested(const QPoint &pos)
{
    QTreeWidgetItem* curItem = m_treeWidget->itemAt(pos);
   if(curItem != nullptr)
    {
        QMenu *popMenu = new QMenu(m_treeWidget);
        QAction *actionNew = new QAction("Attribute",m_treeWidget);

        connect(actionNew, &QAction::triggered, this, &FileViewPanelCreator::ActionNew_Attribute);
        popMenu->addAction(actionNew);
        popMenu->exec(QCursor::pos());
        delete popMenu;
        delete actionNew;
    }
}

 

标签:FileViewPanelCreator,QTreeWidget,QTreeWidgetItem,connect,treeWidget,popMenu,acti
From: https://www.cnblogs.com/wxzhrj/p/17945773

相关文章

  • QTreeWidget使用小案例
    一、概述使用QTreeWidget制作一个树形菜单。示例图: 二、代码示例#include"TreeWidgetExampleWindow.h"TreeWidgetExampleWindow::TreeWidgetExampleWindow(QWidget*parent):QWidget(parent){this->setWindowTitle("TreeWidget组件");QVBoxLayout*......
  • QTreeWidget 的搜索实时显示功能
    QTreeWidget的子条目很多时候需要提供实时的搜索功能,以便能快速找到所需要的条目。代码如下://1.创建当输入框文本变化时的信号槽。connect(ui.lineEditSearch,&QLineEdit::textChanged,this,&Demo01_GUI::OnFindItem);//2.槽函数实现检索时,实时显示符合要求的QTre......
  • QTreeWidget 添加右键菜单
    有时需要为QTreeWidget的子条目添加右键菜单功能,主要有两种方案来实现:方案一该方案比较通用,通过为QTreeWidget建立信号槽,在接受itemPressed的信号时会被触发,然后判断当前是否为鼠标右键,若为鼠标右键则创建添加对应的菜单栏,并提供相应的功能。//1.QTreeWidget*tree为......
  • 模型视图简介、QListWidget、QTreeWidget、QTableWidget、QStringListModel、QFileSys
    一、模型视图简介   有时,我们的系统需要显示大量数据,比如从数据库中读取数据,以自己的方式显示在自己的应用程序的界面中。早期的Qt要实现这个功能,需要定义一个组件,在这个组件中保存一个数据对象,比如一个列表。我们对这个列表进行查找、插入等的操作,或者把修改的地方写回,然后......
  • pyqt5-QTreeWidgetItem
    QTreeWidgetItem树节点项。QTreeWidgetItem(strings:Iterable[str],type:int=QTreeWidgetItem.Type)创建节点时,必须是Iterable[str],表示一行中各列的文本 1、子节点child(self,index:int)->QTreeWidgetItem获取某节点的某子节点childCount(self)->int获......
  • pyqt5-QTreeWidget
    QTreeWidget树组件。1、顶级项addTopLevelItem(self,item:QTreeWidgetItem)末尾添加单个顶级项addTopLevelItems(self,items:Iterable[QTreeWidgetItem])末尾批量添加顶级项insertTopLevelItem(self,index:int,item:QTreeWidgetItem)指定索引插入单个顶级项......
  • QtreeWidget的部分基本使用
    创建树节点(QTreeWidgetItem)并添加到QTreeWidget中://创建子节点QTreeWidgetItem*child1=newQTreeWidgetItem(root);child1->setText(0,"子节点1");child1->setText(1,"子节点1的列2内容");QTreeWidgetItem*child2=newQTreeWidgetItem(root);child2->......
  • xml qtreewidget 的遍历
    这些都是自己工作中遇到的,不具有普遍性 xml的递归遍历voidUserTreeWidget::travelDomElement(QDomElement&ele,QStringList&listOuterId){QDomNodenode=ele.firstChild();while(!node.isNull()){QDomElementchildElement=node.toElemen......
  • pyqt5-QTreeWidget
    1、介绍树形组件2、类和初始化classQTreeWidget(QTreeView):"""QTreeWidget(parent:QWidget=None)"""def__init__(self,parent=None):pass3、属性4、方法(1)setColumnCount设置列数,参数为int类型。树形组件只能是设置为1(2)setHeaderLabels设......
  • Qt学习笔记8——P26-28. ui中的一些控件(QTreeWidget, QTableWidget, 其他)
    P26.QTreeWidget树控件P27.QTableWidget控件P28.其他常用控件介绍P26.QTreeWidget树控件(创建了新项目) (ui界面)ItemWidgets(Item-Based)->TreeWidget把"TreeWidget"拖进界面后,如果想把此TreeWidget居中,选中最大的窗口(Widget),然后选工具栏中的"水平居中"或"垂直居......