【ca认证源码】【vim 源码分析】【电玩程序源码】qtreewidgetitem的源码_qtreewidget model

2024-12-23 00:20:13 来源:售后维修管理系统 源码 分类:综合

1.qtreewidgetitem函数clone出的源码节点如何设置其type?
2.Qt中怎么实现Qtreewidget节点的撤销重做

qtreewidgetitem的源码_qtreewidget model

qtreewidgetitem函数clone出的节点如何设置其type?

       从 QTreeWidgetItem 类的继承关系来看,它是源码继承自 QObject 类的。而 type() 方法是源码 QObject 类的一个虚函数,因此在 QTreeWidgetItem 类中并没有直接提供设置类型的源码ca认证源码方法。

       那么,源码如何在克隆出的源码vim 源码分析节点中设置类型呢?可以通过重新实现 clone() 方法来实现。

       示例代码如下:

       class CustomTreeWidgetItem: public QTreeWidgetItem {

       public:

       CustomTreeWidgetItem(const CustomTreeWidgetItem& other): QTreeWidgetItem(other) {

       setType(other.type());

       }

       CustomTreeWidgetItem(QTreeWidgetItem* parent,源码 int type = Type): QTreeWidgetItem(parent, type) { }

       QTreeWidgetItem* clone() const override {

       return new CustomTreeWidgetItem(*this);

       }

       void setType(int type) {

       QTreeWidgetItem::setType(type);

       }

       };

       在上述代码中,我们新建了一个 CustomTreeWidgetItem 类,源码它继承自 QTreeWidgetItem 类,源码并重写了 clone() 方法。源码在重新实现 clone() 方法时,源码我们创建了一个 CustomTreeWidgetItem 类型的源码新节点,并将重载后的源码电玩程序源码 setType() 方法用于设置节点的类型。这样,源码在调用 clone() 方法获得克隆节点后,源码就可以通过 setType() 方法设置节点的deb源码破解类型了。

       使用方法如下:

       QTreeWidgetItem* item = new QTreeWidgetItem();

       item->setType(QTreeWidgetItem::UserType + 1); // 设置类型为 UserType + 1

       QTreeWidgetItem* clonedItem = item->clone(); // 克隆节点

       dynamic_cast<CustomTreeWidgetItem*>(clonedItem)->setType(QTreeWidgetItem::UserType + 2); // 设置克隆出来的节点的类型为 UserType + 2

       在上述代码中,我们首先创建了一个类型为 UserType + 1 的 QTreeWidgetItem 节点,并将其克隆出来。单车俱乐部源码然后,我们通过 dynamic_cast 将 clonedItem 转换为 CustomTreeWidgetItem 类型,再使用 setType() 方法将其类型设置为 UserType + 2。

Qt中怎么实现Qtreewidget节点的撤销重做

       增与删

       下面是添加的功能:

       //这是添加根节点的功能实现this->connect(ui->Root_btn, SIGNAL(clicked(bool)), this, SLOT(addRoot()));void Widget::addRoot()

       {

       QString one = ui->first->text();

       QString two = ui->second->text();

       QString three = ui->third->text();

       QTreeWidgetItem* item = new QTreeWidgetItem();

       item->setText(0, one);

       item->setText(1, two);

       item->setText(2, three);

       ui->Tree->addTopLevelItem(item);

       }//这是添加叶子节点的实现this->connect(ui->Child_btn, SIGNAL(clicked(bool)), this, SLOT(addChild()));void Widget::addChild()

       {

       QString one = ui->first->text();

       QString two = ui->second->text();

       QString three = ui->third->text();

       QTreeWidgetItem* parent = ui->Tree->currentItem();

       QTreeWidgetItem* item = new QTreeWidgetItem();

       item->setText(0, one);

       item->setText(1, two);

       item->setText(2, three); parent->addChild(item);

       }

       添加叶子节点字需要注意父节点的获取就可以了。

       下面是删除节点的功能:

       this->connect(ui->DEL_btn, SIGNAL(clicked(bool)), this, SLOT(deleteNode()));

       void del(QTreeWidgetItem* node){ if(node->childCount() > 0)

       { for(int i = 0; i < node->childCount(); i ++)

       { del(node->child(i));

       }

       }

       else

       {

       delete node;

       }

       }

       void Widget::deleteNode()

       {

       QTreeWidgetItem* item = ui->Tree->currentItem();

       if(item->childCount() > 0)

       { for(int i = 0; i < item->childCount(); i ++)

       { del(item->child(i));

       }

       }

       delete item;

       }

       删除节点时记得循环删除这个节点下面的所有的子节点。

更多资讯请点击:综合

热门资讯

ufw源码

2024-12-22 23:202484人浏览

源码魔方

2024-12-22 23:132376人浏览

instaspin源码

2024-12-22 22:261430人浏览

hlsplayer源码

2024-12-22 21:452590人浏览

推荐资讯

波音飛船再次出包 太空人受困逾數月

原本8天的太空任務,最終可能拖到8個月。搭乘波音星際飛船,來到國際太空站的兩名美國太空人,威廉斯和威莫爾,原訂6月14日返回地球,因為飛船推進器故障,被迫不斷延後返航,恐怕得靠波音對手SpaceX救援

firmware源码

1.Firmware是什么?2.驱动与固件的区别是什么?3.固件是什么?4.剖析Linux内核源码解读之《配置与编译》Firmware是什么? Firmware,这个术语通常指的是嵌入在集成电路I

mysqlundo源码

1.详解 MySQL 的 undo log详解 MySQL 的 undo log 详解MySQL的undo log undo log是InnoDB引擎中的一种关键日志,它在事务修改数据记录前,