#include "CenterWidget.h" #include #include #include #include #include #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() { } }