ui_qtreewidgettest.h
/********************************************************************************
** Form generated from reading UI file 'qtreewidgettest.ui'
**
** Created by: Qt User Interface Compiler version 5.14.2
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
#ifndef UI_QTREEWIDGETTEST_H
#define UI_QTREEWIDGETTEST_H
#include <QtCore/QVariant>
#include <QtWidgets/QApplication>
#include <QtWidgets/QHeaderView>
#include <QtWidgets/QTreeWidget>
#include <QtWidgets/QWidget>
QT_BEGIN_NAMESPACE
class Ui_QTreeWidgetTestClass
{
public:
QTreeWidget *treeWidget;
void setupUi(QWidget *QTreeWidgetTestClass)
{
if (QTreeWidgetTestClass->objectName().isEmpty())
QTreeWidgetTestClass->setObjectName(QString::fromUtf8("QTreeWidgetTestClass"));
QTreeWidgetTestClass->resize(748, 540);
treeWidget = new QTreeWidget(QTreeWidgetTestClass);
new QTreeWidgetItem(treeWidget);
QTreeWidgetItem *__qtreewidgetitem = new QTreeWidgetItem(treeWidget);
QTreeWidgetItem *__qtreewidgetitem1 = new QTreeWidgetItem(__qtreewidgetitem);
QTreeWidgetItem *__qtreewidgetitem2 = new QTreeWidgetItem(__qtreewidgetitem1);
QTreeWidgetItem *__qtreewidgetitem3 = new QTreeWidgetItem(__qtreewidgetitem2);
new QTreeWidgetItem(__qtreewidgetitem3);
new QTreeWidgetItem(treeWidget);
treeWidget->setObjectName(QString::fromUtf8("treeWidget"));
treeWidget->setGeometry(QRect(50, 60, 631, 381));
treeWidget->setStyleSheet(QString::fromUtf8("QTreeWidget{\n"
" background-color: #FEFFF7;\n"
" alternate-background-color: #CBE8D9;\n"
"}\n"
"\n"
"QTreeWidget::item:hover{\n"
" background-color: #C5DAFF;\n"
"}\n"
"\n"
"QTreeWidget::item:selected{\n"
" background-color: #DEBBE8;\n"
"}\n"
"QTreeWidget::branch{\n"
" \n"
" /*background-color: rgb(65, 48, 255);*/\n"
"}\n"
"\n"
" QTreeView::branch:has-siblings:!adjoins-item {\n"
" border-image: url(vline.png) 0;\n"
" }\n"
" QTreeView::branch:has-siblings:adjoins-item {\n"
" border-image: url(branch-more.png) 0;\n"
" }\n"
" QTreeView::branch:!has-children:!has-siblings:adjoins-item {\n"
" border-image: url(branch-end.png) 0;\n"
" }\n"
" QTreeView::branch:has-children:!has-siblings:closed,\n"
" QTreeView::branch:closed:has-children:has-siblings {\n"
" border-image: none; image: url(branch-closed.png);\n"
" }\n"
" QTreeView::branch:open:has-children:!has-siblings,\n"
" QTreeView::branch:open:has-children:has-siblings {\n"
" border-image: none;\n"
" image: url(b"
"ranch-open.png);\n"
" }\n"
"QHeaderView::section{\n"
" \n"
" background-color: #FFE0D8;\n"
" border:1px solid #C5DAFF;\n"
"\n"
"}\n"
"\n"
""));
retranslateUi(QTreeWidgetTestClass);
QObject::connect(treeWidget, SIGNAL(itemClicked(QTreeWidgetItem*,int)), QTreeWidgetTestClass, SLOT(Click(QTreeWidgetItem*)));
QObject::connect(treeWidget, SIGNAL(itemDoubleClicked(QTreeWidgetItem*,int)), QTreeWidgetTestClass, SLOT(Double(QTreeWidgetItem*)));
QObject::connect(treeWidget, SIGNAL(itemExpanded(QTreeWidgetItem*)), QTreeWidgetTestClass, SLOT(Expand(QTreeWidgetItem*)));
QObject::connect(treeWidget, SIGNAL(itemEntered(QTreeWidgetItem*,int)), QTreeWidgetTestClass, SLOT(Hover(QTreeWidgetItem*)));
QMetaObject::connectSlotsByName(QTreeWidgetTestClass);
} // setupUi
void retranslateUi(QWidget *QTreeWidgetTestClass)
{
QTreeWidgetTestClass->setWindowTitle(QCoreApplication::translate("QTreeWidgetTestClass", "QTreeWidgetTest", nullptr));
QTreeWidgetItem *___qtreewidgetitem = treeWidget->headerItem();
___qtreewidgetitem->setText(2, QCoreApplication::translate("QTreeWidgetTestClass", "\346\226\260\345\273\272\345\210\2273", nullptr));
___qtreewidgetitem->setText(1, QCoreApplication::translate("QTreeWidgetTestClass", "\346\226\260\345\273\272\345\210\2271", nullptr));
___qtreewidgetitem->setText(0, QCoreApplication::translate("QTreeWidgetTestClass", "\346\226\260\345\273\272\345\210\227", nullptr));
const bool __sortingEnabled = treeWidget->isSortingEnabled();
treeWidget->setSortingEnabled(false);
QTreeWidgetItem *___qtreewidgetitem1 = treeWidget->topLevelItem(0);
___qtreewidgetitem1->setText(2, QCoreApplication::translate("QTreeWidgetTestClass", "03", nullptr));
___qtreewidgetitem1->setText(1, QCoreApplication::translate("QTreeWidgetTestClass", "02", nullptr));
___qtreewidgetitem1->setText(0, QCoreApplication::translate("QTreeWidgetTestClass", "01", nullptr));
QTreeWidgetItem *___qtreewidgetitem2 = treeWidget->topLevelItem(1);
___qtreewidgetitem2->setText(2, QCoreApplication::translate("QTreeWidgetTestClass", "13", nullptr));
___qtreewidgetitem2->setText(1, QCoreApplication::translate("QTreeWidgetTestClass", "12", nullptr));
___qtreewidgetitem2->setText(0, QCoreApplication::translate("QTreeWidgetTestClass", "11", nullptr));
QTreeWidgetItem *___qtreewidgetitem3 = ___qtreewidgetitem2->child(0);
___qtreewidgetitem3->setText(2, QCoreApplication::translate("QTreeWidgetTestClass", "123", nullptr));
___qtreewidgetitem3->setText(1, QCoreApplication::translate("QTreeWidgetTestClass", "122", nullptr));
___qtreewidgetitem3->setText(0, QCoreApplication::translate("QTreeWidgetTestClass", "121", nullptr));
QTreeWidgetItem *___qtreewidgetitem4 = ___qtreewidgetitem3->child(0);
___qtreewidgetitem4->setText(2, QCoreApplication::translate("QTreeWidgetTestClass", "1213", nullptr));
___qtreewidgetitem4->setText(1, QCoreApplication::translate("QTreeWidgetTestClass", "1212", nullptr));
___qtreewidgetitem4->setText(0, QCoreApplication::translate("QTreeWidgetTestClass", "1211", nullptr));
QTreeWidgetItem *___qtreewidgetitem5 = ___qtreewidgetitem4->child(0);
___qtreewidgetitem5->setText(2, QCoreApplication::translate("QTreeWidgetTestClass", "1223", nullptr));
___qtreewidgetitem5->setText(1, QCoreApplication::translate("QTreeWidgetTestClass", "1222", nullptr));
___qtreewidgetitem5->setText(0, QCoreApplication::translate("QTreeWidgetTestClass", "1221", nullptr));
QTreeWidgetItem *___qtreewidgetitem6 = ___qtreewidgetitem5->child(0);
___qtreewidgetitem6->setText(0, QCoreApplication::translate("QTreeWidgetTestClass", "\346\226\260\345\273\272\345\255\220\351\241\271\347\233\256", nullptr));
QTreeWidgetItem *___qtreewidgetitem7 = treeWidget->topLevelItem(2);
___qtreewidgetitem7->setText(2, QCoreApplication::translate("QTreeWidgetTestClass", "23", nullptr));
___qtreewidgetitem7->setText(1, QCoreApplication::translate("QTreeWidgetTestClass", "22", nullptr));
___qtreewidgetitem7->setText(0, QCoreApplication::translate("QTreeWidgetTestClass", "21", nullptr));
treeWidget->setSortingEnabled(__sortingEnabled);
} // retranslateUi
};
namespace Ui {
class QTreeWidgetTestClass: public Ui_QTreeWidgetTestClass {};
} // namespace Ui
QT_END_NAMESPACE
#endif // UI_QTREEWIDGETTEST_H
qtreewidgettest.h
#pragma once
#include <QtWidgets/QWidget>
#include "ui_qtreewidgettest.h"
class QTreeWidgetTest : public QWidget
{
Q_OBJECT
public:
QTreeWidgetTest(QWidget *parent = Q_NULLPTR);
public slots:
void Click(QTreeWidgetItem *item);
void Double(QTreeWidgetItem *item);
void Hover(QTreeWidgetItem *item);
void Expand(QTreeWidgetItem *item);
private:
Ui::QTreeWidgetTestClass ui;
};
qtreewidgettest.cpp
#include "qtreewidgettest.h"
#include <QPushButton>
#include <QDebug>
QTreeWidgetTest::QTreeWidgetTest(QWidget *parent)
: QWidget(parent)
{
ui.setupUi(this);
//清理测试的标题
ui.treeWidget->setHeaderItem(new QTreeWidgetItem());
//ui.treeWidget->setColumnCount(3);
//清理测试数据
ui.treeWidget->clear();
//ui.treeWidget->setColumnCount(3); //随着添加动态改变
ui.treeWidget->headerItem()->setText(0,QStringLiteral("标题1"));
ui.treeWidget->headerItem()->setText(1,"head2");
ui.treeWidget->headerItem()->setText(2,"head3");
ui.treeWidget->headerItem()->setText(3,"head4");
//插入数据
//结尾处插入
ui.treeWidget->addTopLevelItem(new QTreeWidgetItem());
ui.treeWidget->topLevelItem(0)->setText(0,"tree node1");
ui.treeWidget->topLevelItem(0)->setText(1, "tree node1 col2");
ui.treeWidget->addTopLevelItem(new QTreeWidgetItem({ "tree node2 col1","tree node2 col2" }));
//开头插入
ui.treeWidget->insertTopLevelItem(0, new QTreeWidgetItem({ "tree node1-1 col1","tree node1-1 col2" }));
//结尾插入
QTreeWidgetItem* node = new QTreeWidgetItem(ui.treeWidget);
node->setText(0,"new ");
//插入子节点,topLevelItem传入列数
ui.treeWidget->topLevelItem(3)->addChild(new QTreeWidgetItem({"child1"}));
ui.treeWidget->topLevelItem(3)->addChild(new QTreeWidgetItem({ "child2" }));
ui.treeWidget->topLevelItem(3)->addChild(new QTreeWidgetItem({ "child3" }));
//插入孙节点,必须先有子节点
ui.treeWidget->topLevelItem(3)->child(0)->addChild(new QTreeWidgetItem({ "grandSon" }));
ui.treeWidget->topLevelItem(1)->addChild(new QTreeWidgetItem({"2-child1","2-chlid2","2-chlid3" }));
//插入图标
ui.treeWidget->setIconSize(QSize(60, 60));
ui.treeWidget->topLevelItem(0)->setIcon(0, QIcon("qt.PNG"));
//插入Widget控件
QPushButton* but = new QPushButton("Test");
ui.treeWidget->setItemWidget(ui.treeWidget->topLevelItem(1),0,but);
//打开鼠标跟踪
ui.treeWidget->setMouseTracking(true);
}
void QTreeWidgetTest::Click(QTreeWidgetItem* item)
{
qDebug() << "Click " << item->text(0);
}
void QTreeWidgetTest::Double(QTreeWidgetItem* item)
{
qDebug() << "Double " << item->text(0);
}
void QTreeWidgetTest::Hover(QTreeWidgetItem* item)
{
qDebug() << "Hover " << item->text(0);
ui.treeWidget->expandItem(item);
}
void QTreeWidgetTest::Expand(QTreeWidgetItem* item)
{
qDebug() << "Expand " << item->text(0);
清空历史数据
//while (item->childCount() > 0)
//{
// item->removeChild(item->child(0));
//}
动态插入子节点
//item->addChild(new QTreeWidgetItem({"new tree1"}));
//item->addChild(new QTreeWidgetItem({ "new tree2" }));
//item->addChild(new QTreeWidgetItem({ "new tree3" }));
}