优化左侧树图图标

This commit is contained in:
jiayulong 2026-01-21 09:18:53 +08:00
parent 9e076cc17e
commit da29d6680a
2 changed files with 95 additions and 77 deletions

View File

@ -70,71 +70,77 @@ QString QtProjectWidgets::getLeftTreeString()
return ui->treeWidget->getCurrentItemString(); return ui->treeWidget->getCurrentItemString();
} }
//初始化树图控件 ////初始化树图控件
void QtProjectWidgets::initTreeWidget(QString fullPath, QString strProjectName) //void QtProjectWidgets::initTreeWidget(QString fullPath, QString strProjectName)
{ //{
ui->treeWidget->setColumnCount(1); //设置列数 // ui->treeWidget->setColumnCount(1); //设置列数
ui->treeWidget->setHeaderHidden(true); // 隐藏表头 // ui->treeWidget->setHeaderHidden(true); // 隐藏表头
ui->treeWidget->clear();//清理数据 // ui->treeWidget->clear();//清理数据
QTreeWidgetItem *itemRoot = new QTreeWidgetItem(); // QTreeWidgetItem *itemRoot = new QTreeWidgetItem();
itemRoot->setText(0, strProjectName); // itemRoot->setText(0, strProjectName);
itemRoot->setData(0, Qt::UserRole, "root"); // 存储额外数据如ID // itemRoot->setData(0, Qt::UserRole, "root"); // 存储额外数据如ID
// // //
QIcon icon; // QIcon icon;
icon.addPixmap(QPixmap(":/image/left_folder.png"), QIcon::Selected); //选中时的状态 // icon.addPixmap(QPixmap(GetImagePath() + "newproject.png"), QIcon::Selected); //选中时的状态
icon.addPixmap(QPixmap(":/image/left_folder.png"), QIcon::Normal); //未选中是的状态 // icon.addPixmap(QPixmap(GetImagePath() + "newproject.png"), QIcon::Normal); //未选中是的状态
itemRoot->setIcon(0, icon); // itemRoot->setIcon(0, icon);
// 这是一个根节点 // // 这是一个根节点
ui->treeWidget->addTopLevelItem(itemRoot); // ui->treeWidget->addTopLevelItem(itemRoot);
//展开树图 // //展开树图
ui->treeWidget->expandAll(); // ui->treeWidget->expandAll();
} //}
//初始化树图控件 ////初始化树图控件
void QtProjectWidgets::s_initTreeWidget(QString strName) //void QtProjectWidgets::s_initTreeWidget(QString strName)
{ //{
// // //
ui->treeWidget->setColumnCount(1); //设置列数 // ui->treeWidget->setColumnCount(1); //设置列数
ui->treeWidget->setHeaderHidden(true); // 隐藏表头 // ui->treeWidget->setHeaderHidden(true); // 隐藏表头
ui->treeWidget->clear();//清理数据 // ui->treeWidget->clear();//清理数据
QTreeWidgetItem *item = new QTreeWidgetItem(); // QTreeWidgetItem *item = new QTreeWidgetItem();
item->setText(0, strName); // item->setText(0, strName);
item->setData(0, Qt::UserRole, "root"); // 存储额外数据如ID // item->setData(0, Qt::UserRole, "root"); // 存储额外数据如ID
//item->setData(0, Qt::UserRole + 1, evaluationInfo.guid); // 存储额外数据如ID // //item->setData(0, Qt::UserRole + 1, evaluationInfo.guid); // 存储额外数据如ID
// // //
QIcon icon; // QIcon icon;
icon.addPixmap(QPixmap(":/image/left_folder.png"), QIcon::Selected); // icon.addPixmap(QPixmap(GetImagePath() + "project.png"), QIcon::Selected);
icon.addPixmap(QPixmap(":/image/left_folder.png"), QIcon::Normal); // icon.addPixmap(QPixmap(GetImagePath() + "project.png"), QIcon::Normal);
item->setIcon(0, icon); // item->setIcon(0, icon);
// 这是一个根节点 // // 这是一个根节点
ui->treeWidget->addTopLevelItem(item); // ui->treeWidget->addTopLevelItem(item);
//获取根节点 // //获取根节点
QTreeWidgetItem *parent = ui->treeWidget->topLevelItem(0); // QTreeWidgetItem *parent = ui->treeWidget->topLevelItem(0);
//指标体系 // //指标体系
QTreeWidgetItem *itemIndex = new QTreeWidgetItem(); // QTreeWidgetItem *itemIndex = new QTreeWidgetItem();
itemIndex->setText(0, "井组"); // itemIndex->setText(0, "井组");
itemIndex->setData(0, Qt::UserRole, "indexsys"); // 存储额外数据如ID // itemIndex->setData(0, Qt::UserRole, "indexsys"); // 存储额外数据如ID
// // //
itemIndex->setIcon(0, icon); // QIcon icon_wellfolder;
parent->addChild(itemIndex);//添加一级子节点 // icon_wellfolder.addPixmap(QPixmap(GetImagePath() + "wellfolder.png"), QIcon::Selected);
// icon_wellfolder.addPixmap(QPixmap(GetImagePath() + "wellfolder.png"), QIcon::Normal);
// itemIndex->setIcon(0, icon_wellfolder);
// parent->addChild(itemIndex);//添加一级子节点
//评估任务 // //
QTreeWidgetItem *itemTask = new QTreeWidgetItem(); // QTreeWidgetItem *itemTask = new QTreeWidgetItem();
itemTask->setText(0, ("数据分析")); // itemTask->setText(0, ("数据分析"));
itemTask->setData(0, Qt::UserRole, "task"); // 存储额外数据如ID // itemTask->setData(0, Qt::UserRole, "task"); // 存储额外数据如ID
// // //
itemTask->setIcon(0, icon); // QIcon icon_analysis;
parent->addChild(itemTask);//添加一级子节点 // icon_analysis.addPixmap(QPixmap(GetImagePath() + "icon/analysis.png"), QIcon::Selected);
// icon_analysis.addPixmap(QPixmap(GetImagePath() + "icon/analysis.png"), QIcon::Normal);
// itemTask->setIcon(0, icon_analysis);
// parent->addChild(itemTask);//添加一级子节点
//展开树图 // //展开树图
ui->treeWidget->expandItem(parent); // ui->treeWidget->expandItem(parent);
} //}
//加载指标体系--树图节点 //加载指标体系--树图节点
void QtProjectWidgets::s_loadTreeWidget(QString fileFull) void QtProjectWidgets::s_loadTreeWidget(QString fileFull)
@ -166,8 +172,8 @@ void QtProjectWidgets::s_loadTreeWidget(QString fileFull)
//item->setData(0, Qt::UserRole + 1, evaluationInfo.guid); // 存储额外数据如ID //item->setData(0, Qt::UserRole + 1, evaluationInfo.guid); // 存储额外数据如ID
// //
QIcon icon; QIcon icon;
icon.addPixmap(QPixmap(":/image/left_folder.png"), QIcon::Selected); icon.addPixmap(QPixmap(GetImagePath() + "project.png"), QIcon::Selected);
icon.addPixmap(QPixmap(":/image/left_folder.png"), QIcon::Normal); icon.addPixmap(QPixmap(GetImagePath() + "project.png"), QIcon::Normal);
item->setIcon(0, icon); item->setIcon(0, icon);
// 这是一个根节点 // 这是一个根节点
ui->treeWidget->addTopLevelItem(item); ui->treeWidget->addTopLevelItem(item);
@ -180,7 +186,10 @@ void QtProjectWidgets::s_loadTreeWidget(QString fileFull)
itemIndex->setText(0, ("井组")); itemIndex->setText(0, ("井组"));
itemIndex->setData(0, Qt::UserRole, "wells"); // 存储额外数据如ID itemIndex->setData(0, Qt::UserRole, "wells"); // 存储额外数据如ID
// //
itemIndex->setIcon(0, icon); QIcon icon_wellfolder;
icon_wellfolder.addPixmap(QPixmap(GetImagePath() + "wellfolder.png"), QIcon::Selected);
icon_wellfolder.addPixmap(QPixmap(GetImagePath() + "wellfolder.png"), QIcon::Normal);
itemIndex->setIcon(0, icon_wellfolder);
parent->addChild(itemIndex);//添加一级子节点 parent->addChild(itemIndex);//添加一级子节点
//数据导入 //数据导入
loadIndexSysTree(itemIndex, fileFull, g_prjname); loadIndexSysTree(itemIndex, fileFull, g_prjname);
@ -190,7 +199,10 @@ void QtProjectWidgets::s_loadTreeWidget(QString fileFull)
itemTask->setText(0, ("数据分析")); itemTask->setText(0, ("数据分析"));
itemTask->setData(0, Qt::UserRole, "dataAnalyze"); // 存储额外数据如ID itemTask->setData(0, Qt::UserRole, "dataAnalyze"); // 存储额外数据如ID
// //
itemTask->setIcon(0, icon); QIcon icon_analysis;
icon_analysis.addPixmap(QPixmap(GetImagePath() + "icon/analysis.png"), QIcon::Selected);
icon_analysis.addPixmap(QPixmap(GetImagePath() + "icon/analysis.png"), QIcon::Normal);
itemTask->setIcon(0, icon_analysis);
parent->addChild(itemTask);//添加一级子节点 parent->addChild(itemTask);//添加一级子节点
//数据导入 //数据导入
//loadTaskTree(itemTask); //loadTaskTree(itemTask);
@ -320,8 +332,8 @@ void QtProjectWidgets::loadIndexSysTree(QTreeWidgetItem *parent, QString fileFul
itemIndex->setData(0, Qt::UserRole + 1, wellFile1); // 存储额外数据,项目名 itemIndex->setData(0, Qt::UserRole + 1, wellFile1); // 存储额外数据,项目名
// //
QIcon icon; QIcon icon;
icon.addPixmap(QPixmap(":/image/left_index.png"), QIcon::Selected); icon.addPixmap(QPixmap(GetImagePath() + "well.png"), QIcon::Selected);
icon.addPixmap(QPixmap(":/image/left_index.png"), QIcon::Normal); icon.addPixmap(QPixmap(GetImagePath() + "well.png"), QIcon::Normal);
itemIndex->setIcon(0, icon); itemIndex->setIcon(0, icon);
// //
parent->addChild(itemIndex);//添加一级子节点 parent->addChild(itemIndex);//添加一级子节点
@ -349,8 +361,8 @@ void QtProjectWidgets::loadWellTree(QTreeWidgetItem *parent, QString fileFull, Q
//itemSheet->setData(0, Qt::UserRole + 1, indexSysInfo.at(1).toString()); // 存储额外数据如ID //itemSheet->setData(0, Qt::UserRole + 1, indexSysInfo.at(1).toString()); // 存储额外数据如ID
// //
QIcon iconSheet; QIcon iconSheet;
iconSheet.addPixmap(QPixmap(":/image/left_index.png"), QIcon::Selected); iconSheet.addPixmap(QPixmap(GetImagePath() + "icon/Sheet.png"), QIcon::Selected);
iconSheet.addPixmap(QPixmap(":/image/left_index.png"), QIcon::Normal); iconSheet.addPixmap(QPixmap(GetImagePath() + "icon/Sheet.png"), QIcon::Normal);
itemSheet->setIcon(0, iconSheet); itemSheet->setIcon(0, iconSheet);
@ -361,8 +373,8 @@ void QtProjectWidgets::loadWellTree(QTreeWidgetItem *parent, QString fileFull, Q
//itemParameterCard->setData(0, Qt::UserRole + 1, indexSysInfo.at(1).toString()); // 存储额外数据如ID //itemParameterCard->setData(0, Qt::UserRole + 1, indexSysInfo.at(1).toString()); // 存储额外数据如ID
// //
QIcon iconParameterCard; QIcon iconParameterCard;
iconParameterCard.addPixmap(QPixmap(":/image/left_index.png"), QIcon::Selected); iconParameterCard.addPixmap(QPixmap(GetImagePath() + "icon/ParameterCard.png"), QIcon::Selected);
iconParameterCard.addPixmap(QPixmap(":/image/left_index.png"), QIcon::Normal); iconParameterCard.addPixmap(QPixmap(GetImagePath() + "icon/ParameterCard.png"), QIcon::Normal);
itemParameterCard->setIcon(0, iconParameterCard); itemParameterCard->setIcon(0, iconParameterCard);
//曲线 //曲线
@ -372,8 +384,8 @@ void QtProjectWidgets::loadWellTree(QTreeWidgetItem *parent, QString fileFull, Q
//itemAddLog->setData(0, Qt::UserRole + 1, indexSysInfo.at(1).toString()); // 存储额外数据如ID //itemAddLog->setData(0, Qt::UserRole + 1, indexSysInfo.at(1).toString()); // 存储额外数据如ID
// //
QIcon iconCurve; QIcon iconCurve;
iconCurve.addPixmap(QPixmap(":/image/left_index.png"), QIcon::Selected); iconCurve.addPixmap(QPixmap(GetImagePath() + "icon/AddLog.png"), QIcon::Selected);
iconCurve.addPixmap(QPixmap(":/image/left_index.png"), QIcon::Normal); iconCurve.addPixmap(QPixmap(GetImagePath() + "icon/AddLog.png"), QIcon::Normal);
itemCurve->setIcon(0, iconCurve); itemCurve->setIcon(0, iconCurve);
//波列数据 //波列数据
@ -383,8 +395,8 @@ void QtProjectWidgets::loadWellTree(QTreeWidgetItem *parent, QString fileFull, Q
//itemWave->setData(0, Qt::UserRole + 1, indexSysInfo.at(1).toString()); // 存储额外数据如ID //itemWave->setData(0, Qt::UserRole + 1, indexSysInfo.at(1).toString()); // 存储额外数据如ID
// //
QIcon iconWave; QIcon iconWave;
iconWave.addPixmap(QPixmap(":/image/left_index.png"), QIcon::Selected); iconWave.addPixmap(QPixmap(GetImagePath() + "icon/Logs.png"), QIcon::Selected);
iconWave.addPixmap(QPixmap(":/image/left_index.png"), QIcon::Normal); iconWave.addPixmap(QPixmap(GetImagePath() + "icon/Logs.png"), QIcon::Normal);
itemWave->setIcon(0, iconWave); itemWave->setIcon(0, iconWave);
CLogIO * logio=new CLogIO(); CLogIO * logio=new CLogIO();
@ -427,8 +439,8 @@ void QtProjectWidgets::loadWellTree(QTreeWidgetItem *parent, QString fileFull, Q
itemwell->setData(0, Qt::UserRole + 1, fileFull); // 存储额外数据slf文件路径 itemwell->setData(0, Qt::UserRole + 1, fileFull); // 存储额外数据slf文件路径
// //
QIcon iconwell; QIcon iconwell;
iconwell.addPixmap(QPixmap(":/image/left_index.png"), QIcon::Selected); iconwell.addPixmap(QPixmap(GetImagePath() + "icon/WellRound.png"), QIcon::Selected);
iconwell.addPixmap(QPixmap(":/image/left_index.png"), QIcon::Normal); iconwell.addPixmap(QPixmap(GetImagePath() + "icon/WellRound.png"), QIcon::Normal);
itemwell->setIcon(0, iconwell); itemwell->setIcon(0, iconwell);
parent->addChild(itemwell);//添加一级子节点 parent->addChild(itemwell);//添加一级子节点
@ -471,6 +483,7 @@ void QtProjectWidgets::loadWellTree(QTreeWidgetItem *parent, QString fileFull, Q
itemSheetChild->setData(0, Qt::UserRole, "tableObject"); // 存储额外数据如ID itemSheetChild->setData(0, Qt::UserRole, "tableObject"); // 存储额外数据如ID
itemSheetChild->setData(0, Qt::UserRole + 1, fileFull); // 存储额外数据,井次文件路径 itemSheetChild->setData(0, Qt::UserRole + 1, fileFull); // 存储额外数据,井次文件路径
itemSheetChild->setData(0, Qt::UserRole + 2, wellname); // 存储额外数据,井名 itemSheetChild->setData(0, Qt::UserRole + 2, wellname); // 存储额外数据,井名
//
itemSheetChild->setIcon(0, iconSheet); itemSheetChild->setIcon(0, iconSheet);
//在创建的每个节点下,加上下面代码 //在创建的每个节点下,加上下面代码
// itemSheetChild->setFlags(Qt::ItemIsUserCheckable | Qt::ItemIsEnabled | Qt::ItemIsSelectable | Qt::ItemIsTristate | Qt::ItemIsDragEnabled); //设置树形控件子项的属性 // itemSheetChild->setFlags(Qt::ItemIsUserCheckable | Qt::ItemIsEnabled | Qt::ItemIsSelectable | Qt::ItemIsTristate | Qt::ItemIsDragEnabled); //设置树形控件子项的属性
@ -548,7 +561,12 @@ void QtProjectWidgets::loadWellTree(QTreeWidgetItem *parent, QString fileFull, Q
itemCurveLog->setData(0, Qt::UserRole, "curveObject"); // 存储额外数据如ID itemCurveLog->setData(0, Qt::UserRole, "curveObject"); // 存储额外数据如ID
itemCurveLog->setData(0, Qt::UserRole + 1, fileFull); // 存储额外数据,井次文件路径 itemCurveLog->setData(0, Qt::UserRole + 1, fileFull); // 存储额外数据,井次文件路径
itemCurveLog->setData(0, Qt::UserRole + 2, wellname); // 存储额外数据,井名 itemCurveLog->setData(0, Qt::UserRole + 2, wellname); // 存储额外数据,井名
itemCurveLog->setIcon(0, iconSheet); //
//
QIcon iconLog;
iconLog.addPixmap(QPixmap(GetImagePath() + "icon/Log.png"), QIcon::Selected);
iconLog.addPixmap(QPixmap(GetImagePath() + "icon/Log.png"), QIcon::Normal);
itemCurveLog->setIcon(0, iconLog);
//在创建的每个节点下,加上下面代码(check框) //在创建的每个节点下,加上下面代码(check框)
// itemCurveLog->setFlags(Qt::ItemIsUserCheckable | Qt::ItemIsEnabled | Qt::ItemIsSelectable | Qt::ItemIsTristate | Qt::ItemIsDragEnabled); //设置树形控件子项的属性 // itemCurveLog->setFlags(Qt::ItemIsUserCheckable | Qt::ItemIsEnabled | Qt::ItemIsSelectable | Qt::ItemIsTristate | Qt::ItemIsDragEnabled); //设置树形控件子项的属性
// itemCurveLog->setCheckState(0, Qt::Unchecked);//也可以是其他状态 // itemCurveLog->setCheckState(0, Qt::Unchecked);//也可以是其他状态
@ -563,7 +581,7 @@ void QtProjectWidgets::loadWellTree(QTreeWidgetItem *parent, QString fileFull, Q
//参数卡-》树图 //参数卡-》树图
QTreeWidgetItem *itemCardChild = new QTreeWidgetItem(); QTreeWidgetItem *itemCardChild = new QTreeWidgetItem();
itemCardChild->setText(0, strCurveName); itemCardChild->setText(0, strCurveName);
itemCardChild->setIcon(0, iconSheet); itemCardChild->setIcon(0, iconParameterCard);
if (0 == itemParameterCard->childCount()) if (0 == itemParameterCard->childCount())
{ {
itemwell->addChild(itemParameterCard);//添加一级子节点 itemwell->addChild(itemParameterCard);//添加一级子节点
@ -578,7 +596,7 @@ void QtProjectWidgets::loadWellTree(QTreeWidgetItem *parent, QString fileFull, Q
itemWaveChild->setData(0, Qt::UserRole, "waveObject"); // 存储额外数据如ID itemWaveChild->setData(0, Qt::UserRole, "waveObject"); // 存储额外数据如ID
itemWaveChild->setData(0, Qt::UserRole + 1, fileFull); // 存储额外数据,井次文件路径 itemWaveChild->setData(0, Qt::UserRole + 1, fileFull); // 存储额外数据,井次文件路径
itemWaveChild->setData(0, Qt::UserRole + 2, wellname); // 存储额外数据,井名 itemWaveChild->setData(0, Qt::UserRole + 2, wellname); // 存储额外数据,井名
itemWaveChild->setIcon(0, iconSheet); itemWaveChild->setIcon(0, iconWave);
if (0 == itemWave->childCount()) if (0 == itemWave->childCount())
{ {
itemwell->addChild(itemWave);//添加一级子节点 itemwell->addChild(itemWave);//添加一级子节点

View File

@ -24,7 +24,7 @@ private:
Ui::QtProjectWidgetsClass *ui; Ui::QtProjectWidgetsClass *ui;
public slots: public slots:
void s_initTreeWidget(QString strName);//初始化树图控件 //void s_initTreeWidget(QString strName);//初始化树图控件
void s_loadTreeWidget(QString fileFull);//加载树图 void s_loadTreeWidget(QString fileFull);//加载树图
@ -54,7 +54,7 @@ public slots:
void onCreateNewTable(); //创建新表 void onCreateNewTable(); //创建新表
public: public:
//初始化树图控件 //初始化树图控件
void initTreeWidget(QString fullPath, QString strProjectName); //void initTreeWidget(QString fullPath, QString strProjectName);
public: public:
//右键菜单 //右键菜单