comac_desk_app/PostProcessing/CenterWidget.cpp

85 lines
2.8 KiB
C++
Raw Normal View History

2024-11-21 11:50:43 +08:00
#include "CenterWidget.h"
#include <QHBoxLayout>
#include <QStandardItemModel>
#include <QLabel>
#include <QVBoxLayout>
#include <QHeaderView>
#include "ElaPushButton.h"
#include "ElaScrollPageArea.h"
#include "ElaTabWidget.h"
#include "ElaScrollBar.h"
#include "ElaTreeView.h"
#include "ElaText.h"
#include "ThreeDimensionDiagraph.h"
#include "qcustomplot.h"
#include "Graph2D.h"
#include "ElaTheme.h"
namespace pst
{
CenterWidget::CenterWidget(QWidget* parent)
: T_BasePage(parent)
{
// 设置窗口布局
setContentsMargins(9, 9, 9, 9);
QWidget* centralWidget = new QWidget(this);
QHBoxLayout* centerVLayout = new QHBoxLayout(centralWidget);
centerVLayout->setContentsMargins(0, 0, 0, 0);
centerVLayout->setSpacing(5);
// ------------------ 后处理窗口的选项卡视图
m_tabWidget = new ElaTabWidget(this);
m_tabWidget->setObjectName("ElaTabWidget");
m_tabWidget->setSizePolicy(QSizePolicy::Policy::Expanding, QSizePolicy::Policy::Expanding);
// 创建二维视图
Graph2D* _graph2D = new Graph2D(m_tabWidget);
m_tabWidget->addTab(_graph2D, "图1");
// 创建三维视图
auto _threeDimensionDiagraph = new pst::ThreeDimensionDiagraph(this);
m_tabWidget->addTab(_threeDimensionDiagraph, "图2");
// ------------------ 项目树
//创建项目树的模型
QStandardItemModel* model = new QStandardItemModel();
for (int i = 0; i < 40; i++)
{
QStandardItem* _itemParent = new QStandardItem(QString("工程%1").arg(i));
_itemParent->setCheckable(false);
for (int j = 0; j < 6; j++)
{
QStandardItem* _itemChild = new QStandardItem(QString("数据%1").arg(i));
_itemChild->setCheckable(false);
_itemParent->appendRow(_itemChild);
}
model->appendRow(_itemParent);
}
model->setHeaderData(0, Qt::Horizontal, "数据展示", Qt::DisplayRole);
m_treeView = new ElaTreeView(this);
//设置滚动条
ElaScrollBar* treeViewFloatScrollBar = new ElaScrollBar(m_treeView->verticalScrollBar(), m_treeView);
treeViewFloatScrollBar->setIsAnimation(true);
//设置标题
QFont headerFont = m_treeView->header()->font();
headerFont.setPixelSize(16);
m_treeView->header()->setFont(headerFont);
m_treeView->setModel(model);
m_treeView->setSizePolicy(QSizePolicy::Policy::Preferred, QSizePolicy::Policy::Expanding);
//将项目树和后处理窗口添加到中间视图
centerVLayout->addWidget(m_treeView);
centerVLayout->addWidget(m_tabWidget);
addCentralWidget(centralWidget, true, false, 0);
}
CenterWidget::~CenterWidget()
{
}
}