2025-02-06 16:36:50 +08:00
|
|
|
#include "loadPageDlg.h"
|
|
|
|
|
#include "dataBase.h"
|
|
|
|
|
#include "ui_loadPageDlg.h"
|
|
|
|
|
|
|
|
|
|
LoadPageDlg::LoadPageDlg(QWidget *parent)
|
|
|
|
|
: QDialog(parent)
|
|
|
|
|
, ui(new Ui::loadPageDlg)
|
|
|
|
|
{
|
|
|
|
|
ui->setupUi(this);
|
|
|
|
|
this->setWindowFlags(Qt::FramelessWindowHint | windowFlags());
|
|
|
|
|
initial();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
LoadPageDlg::~LoadPageDlg()
|
|
|
|
|
{
|
|
|
|
|
delete ui;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void LoadPageDlg::initial()
|
|
|
|
|
{
|
|
|
|
|
connect(ui->btnOk,&QPushButton::clicked,this,&LoadPageDlg::onOkClicked);
|
|
|
|
|
connect(ui->btnCancel,&QPushButton::clicked,this,&LoadPageDlg::onCancelClicked);
|
|
|
|
|
|
|
|
|
|
m_standardItemModel = new QStandardItemModel();
|
|
|
|
|
|
|
|
|
|
// 使用model设置QTreeView表头
|
|
|
|
|
m_standardItemModel->setHorizontalHeaderLabels(QStringList(QStringLiteral("接线图")));
|
|
|
|
|
// TreeView控件载入model
|
|
|
|
|
ui->treeView->setModel(m_standardItemModel);
|
|
|
|
|
// 展开数据
|
|
|
|
|
ui->treeView->expandAll();
|
|
|
|
|
connect(ui->treeView, &QTreeView::activated, this,&LoadPageDlg::onItemChanged);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void LoadPageDlg::updateList()
|
|
|
|
|
{
|
|
|
|
|
if(m_standardItemModel)
|
|
|
|
|
{
|
|
|
|
|
m_standardItemModel->removeRows(0, m_standardItemModel->rowCount());
|
|
|
|
|
QStandardItem* itemRoot = m_standardItemModel->invisibleRootItem();
|
|
|
|
|
|
|
|
|
|
// 创建并添加Item的第一个子节点
|
|
|
|
|
QStandardItem* itemPage = new QStandardItem(QStringLiteral("本站"));
|
|
|
|
|
itemRoot->appendRow(itemPage);
|
|
|
|
|
|
|
|
|
|
QList<QStandardItem*> pageList;
|
2025-05-16 19:20:46 +08:00
|
|
|
QList<pageInfo> lst = DataBase::GetInstance()->getAllPage();
|
|
|
|
|
for(auto info:lst)
|
2025-02-06 16:36:50 +08:00
|
|
|
{
|
2025-05-16 19:20:46 +08:00
|
|
|
pageList.append(new QStandardItem(info.name));
|
2025-02-06 16:36:50 +08:00
|
|
|
}
|
|
|
|
|
itemPage->appendRows(pageList);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void LoadPageDlg::onOkClicked()
|
|
|
|
|
{
|
|
|
|
|
QModelIndex selected = ui->treeView->currentIndex();
|
|
|
|
|
QStandardItem* item = m_standardItemModel->itemFromIndex(selected); // 根据index获取当前item
|
|
|
|
|
if(item)
|
|
|
|
|
{
|
|
|
|
|
_pageName = item->text();
|
|
|
|
|
Q_EMIT selectedPage(_pageName);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
hide();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void LoadPageDlg::onCancelClicked()
|
|
|
|
|
{
|
|
|
|
|
hide();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void LoadPageDlg::onItemChanged(const QModelIndex& current)
|
|
|
|
|
{
|
|
|
|
|
QModelIndex index = current.sibling(current.row(), 0); // 获取当前item的子节点index note:子节点只有一行的情况下
|
|
|
|
|
QStandardItem* item = m_standardItemModel->itemFromIndex(index); // 根据index获取当前item
|
|
|
|
|
if(item)
|
|
|
|
|
{
|
|
|
|
|
_pageName = item->text();
|
|
|
|
|
}
|
|
|
|
|
}
|