diff --git a/CMakeLists.txt b/CMakeLists.txt index 092dc35..8ddb5d6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -62,7 +62,7 @@ set(H_HEADER_FILES include/monitorPagesDlg.h include/baseDockWidget.h - #common/include/global.h + common/include/titleBar.h common/include/tools.h common/include/httpInterface.h common/include/baseProperty.h @@ -101,7 +101,7 @@ set(CPP_SOURCE_FILES source/baseDockWidget.cpp common/source/httpInterface.cpp - #common/source/global.cpp + common/source/titleBar.cpp common/source/tools.cpp common/source/baseProperty.cpp common/source/structDataSource.cpp diff --git a/PropertyEditor/source/include/QDetailsView.h b/PropertyEditor/source/include/QDetailsView.h index 5118634..e2ba741 100644 --- a/PropertyEditor/source/include/QDetailsView.h +++ b/PropertyEditor/source/include/QDetailsView.h @@ -11,7 +11,7 @@ public: explicit QDetailsView(QWidget* parent = nullptr); QQuickDetailsView* getQuickDetailsView() const; void setObject(QObject* inObject); - QObject* getObject() const; + QObject* getObject() const; private: QQuickWidget* mQuickWidget; QQuickDetailsView* mQuickDetailsView; diff --git a/diagramCavas/include/titleBar.h b/common/include/titleBar.h similarity index 78% rename from diagramCavas/include/titleBar.h rename to common/include/titleBar.h index e3ee77a..3bb35d4 100644 --- a/diagramCavas/include/titleBar.h +++ b/common/include/titleBar.h @@ -16,11 +16,11 @@ class TitleBar : public QWidget { Q_OBJECT public: - explicit TitleBar(QWidget *parent = nullptr); + explicit TitleBar(QWidget *parent = nullptr,bool bClose = false,bool bMaxMin = false); void setTitle(const QString &title); void updateMaximizeButton(); // 根据窗口状态更新按钮文本 - + void setCenterText(const QString &text); signals: void maximizeClicked(); void closeClicked(); @@ -38,10 +38,13 @@ private: QWidget *m_parentWindow; QLabel *m_titleLabel; + QLabel *m_centerLabel = nullptr; QPushButton *m_maximizeButton; QPushButton *m_closeButton; bool m_isMaximized = false; + bool _bShowClose = false; + bool _bShowMaxMin = false; }; #endif diff --git a/common/source/titleBar.cpp b/common/source/titleBar.cpp new file mode 100644 index 0000000..4db41ab --- /dev/null +++ b/common/source/titleBar.cpp @@ -0,0 +1,140 @@ +#include "titleBar.h" +#include +#include +#include + + +TitleBar::TitleBar(QWidget *parent,bool bClose,bool bMaxMin) + : QWidget(parent) + , m_parentWindow(parent) + ,_bShowClose(bClose) + ,_bShowMaxMin(bMaxMin) +{ + setupUI(); + setFixedHeight(25); // 稍微矮一点 + + setAttribute(Qt::WA_StyledBackground, true); // 启用样式背景 + setAttribute(Qt::WA_NoSystemBackground, false); + + // 确保有自己的调色板 + setAutoFillBackground(true); + + // 使用更具体的样式表 + QString style = R"( + QWidget { + background: #2c5282; + } + + QLabel { + color: white; + font-size: 12px; + background: transparent; + } + + QPushButton { + background: transparent; + border: none; + color: white; + min-width: 20px; + min-height: 20px; + } + )"; + + setStyleSheet(style); +} + +void TitleBar::setupUI() +{ + QHBoxLayout *layout = new QHBoxLayout(this); + layout->setContentsMargins(4, 0, 0, 0); + layout->setSpacing(0); + + // 标题 + m_titleLabel = new QLabel("窗口标题"); + m_titleLabel->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred); + + layout->addWidget(m_titleLabel); + + /* ===== 中间占位,用于居中 ===== */ + layout->addStretch(); + + /* ===== 中间内容 Label ===== */ + m_centerLabel = new QLabel(); + m_centerLabel->setAlignment(Qt::AlignCenter); + m_centerLabel->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred); + + layout->addWidget(m_centerLabel); + + /* ===== 右侧占位 ===== */ + layout->addStretch(); + + if(_bShowMaxMin){ + // 最大化/还原按钮 + m_maximizeButton = new QPushButton(tr("🗖")); // 最大化图标 + m_maximizeButton->setObjectName("maximizeButton"); + m_maximizeButton->setToolTip("最大化"); + + layout->addWidget(m_maximizeButton); + connect(m_maximizeButton, &QPushButton::clicked, this, &TitleBar::maximizeClicked); + } + + if(_bShowClose){ + // 关闭按钮 + m_closeButton = new QPushButton("×"); + m_closeButton->setObjectName("closeButton"); + m_closeButton->setToolTip("关闭"); + + layout->addWidget(m_closeButton); + connect(m_closeButton, &QPushButton::clicked, this, &TitleBar::closeClicked); + } +} + +void TitleBar::setTitle(const QString &title) +{ + m_titleLabel->setText(title); +} + +void TitleBar::setCenterText(const QString &text) +{ + if (m_centerLabel) + m_centerLabel->setText(text); +} + +void TitleBar::updateMaximizeButton() +{ + if(_bShowMaxMin){ + if (m_parentWindow) { + m_isMaximized = m_parentWindow->isMaximized(); + if (m_isMaximized) { + m_maximizeButton->setText(tr("🗗")); // 还原图标 + m_maximizeButton->setToolTip("还原"); + } else { + m_maximizeButton->setText(tr("🗖")); // 最大化图标 + m_maximizeButton->setToolTip("最大化"); + } + } + } +} + +void TitleBar::mousePressEvent(QMouseEvent *event) +{ + if (event->button() == Qt::LeftButton) { + m_dragStartPosition = event->globalPosition().toPoint() - m_parentWindow->frameGeometry().topLeft(); + event->accept(); + } +} + +void TitleBar::mouseMoveEvent(QMouseEvent *event) +{ + if (event->buttons() & Qt::LeftButton) { + m_parentWindow->move(event->globalPosition().toPoint() - m_dragStartPosition); + event->accept(); + } +} + +void TitleBar::mouseDoubleClickEvent(QMouseEvent *event) +{ + if (event->button() == Qt::LeftButton) { + emit maximizeClicked(); + } +} diff --git a/diagramCavas/CMakeLists.txt b/diagramCavas/CMakeLists.txt index 1d818b2..eeb9657 100644 --- a/diagramCavas/CMakeLists.txt +++ b/diagramCavas/CMakeLists.txt @@ -42,7 +42,6 @@ set(DIAGRAMCAVAS_HEADER_FILES include/projectDiagramNameInput.h include/diagramConnectSetting.h include/structDataPreviewDlg.h - include/titleBar.h include/structDataMeasurementModel.h include/structDataPropertyModel.h include/structDataMeasurementDelegate.h @@ -149,7 +148,7 @@ set(DIAGRAMCAVAS_HEADER_FILES include/propertyType/pannelColorGadget.h ../common/include/httpInterface.h ../common/include/tools.h - #../common/include/global.h + ../common/include/titleBar.h ../common/include/baseProperty.h ../common/include/compiler.hpp ../common/include/export.hpp @@ -208,7 +207,6 @@ set(DIAGRAMCAVAS_SOURCE_FILES source/projectDiagramNameInput.cpp source/diagramConnectSetting.cpp source/structDataPreviewDlg.cpp - source/titleBar.cpp source/structDataMeasurementModel.cpp source/structDataPropertyModel.cpp source/structDataMeasurementDelegate.cpp @@ -309,7 +307,7 @@ set(DIAGRAMCAVAS_SOURCE_FILES ../common/source/httpInterface.cpp ../common/source/baseProperty.cpp ../common/source/tools.cpp - #../common/source/global.cpp + ../common/source/titleBar.cpp ../common/source/structDataSource.cpp ../common/source/extraPropertyManager.cpp diff --git a/diagramCavas/include/bayManagerDlg.h b/diagramCavas/include/bayManagerDlg.h index 4997d17..403848c 100644 --- a/diagramCavas/include/bayManagerDlg.h +++ b/diagramCavas/include/bayManagerDlg.h @@ -13,6 +13,7 @@ QT_END_NAMESPACE class BayManagerContentDlg; class FixedPortsModel; class BayProperty; +class TitleBar; class BayManagerDlg : public QDialog { @@ -36,6 +37,7 @@ private: Ui::bayManagerDlg *ui; FixedPortsModel* _modelController; QMap _contentData; // + TitleBar* m_titleBar; }; #endif diff --git a/diagramCavas/include/bayMeasureDlg.h b/diagramCavas/include/bayMeasureDlg.h index 4800a75..a065bb9 100644 --- a/diagramCavas/include/bayMeasureDlg.h +++ b/diagramCavas/include/bayMeasureDlg.h @@ -13,6 +13,7 @@ QT_END_NAMESPACE class MeasureSettingDlg; class BayProperty; +class TitleBar; class BayMeasureDlg : public QDialog { @@ -43,6 +44,7 @@ private: MeasureSettingDlg* _measureDlg; QList _validType; //可用的属性列表 QMap _mapMeasure; //量测列表 + TitleBar* m_titleBar; }; #endif diff --git a/diagramCavas/include/dataSourceDlg.h b/diagramCavas/include/dataSourceDlg.h index d6a089c..9914ef2 100644 --- a/diagramCavas/include/dataSourceDlg.h +++ b/diagramCavas/include/dataSourceDlg.h @@ -16,6 +16,7 @@ class ExtraPropertyManager; class QPropertyHandle; struct DataSourceType; class QListWidgetItem; +class TitleBar; class DataSourceDlg : public QDialog { @@ -62,6 +63,7 @@ private: StructDataSource* m_dataSource; QListWidgetItem* _curProperty; //当前属性 QString m_targetPropertyCode; //打开的目标code + TitleBar* m_titleBar; }; #endif diff --git a/diagramCavas/include/diagramConnectSetting.h b/diagramCavas/include/diagramConnectSetting.h index 28432fd..51d7276 100644 --- a/diagramCavas/include/diagramConnectSetting.h +++ b/diagramCavas/include/diagramConnectSetting.h @@ -11,6 +11,7 @@ namespace Ui { class diagramConnectSetting; } QT_END_NAMESPACE struct ChannelConfig; +class TitleBar; class DiagramConnectSetting : public QDialog { @@ -33,6 +34,7 @@ private: void updateByConfig(ChannelConfig,int nType = 0); //0http 1websocket private: Ui::diagramConnectSetting *ui; + TitleBar* m_titleBar; }; #endif diff --git a/diagramCavas/include/diagramEditor/confirmEditorDlg.h b/diagramCavas/include/diagramEditor/confirmEditorDlg.h index c0b76cf..af3bd5e 100644 --- a/diagramCavas/include/diagramEditor/confirmEditorDlg.h +++ b/diagramCavas/include/diagramEditor/confirmEditorDlg.h @@ -9,6 +9,7 @@ namespace Ui { class confirmEditorDlg; } QT_END_NAMESPACE class DiagramEditorModel; +class TitleBar; class ConfirmEditorDlg : public QDialog { @@ -29,6 +30,7 @@ public slots: private: Ui::confirmEditorDlg *ui; QPointer _pModel; + TitleBar* m_titleBar; }; #endif diff --git a/diagramCavas/include/diagramEditor/diagramEditorBayDetailAddDlg.h b/diagramCavas/include/diagramEditor/diagramEditorBayDetailAddDlg.h index 9f7d189..f5060d8 100644 --- a/diagramCavas/include/diagramEditor/diagramEditorBayDetailAddDlg.h +++ b/diagramCavas/include/diagramEditor/diagramEditorBayDetailAddDlg.h @@ -12,6 +12,7 @@ QT_END_NAMESPACE class DiagramEditorBayDetailSettingDlg; class QStandardItemModel; class QComboBox; +class TitleBar; class DiagramEditorBayDetailAddDlg : public QDialog { @@ -60,6 +61,7 @@ private: DiagramEditorBayDetailSettingDlg* _pParent; int _curMode; //0新建1修改 QStandardItemModel* _bindItemModel; //绑定的对象模型 + TitleBar* m_titleBar; }; #endif diff --git a/diagramCavas/include/diagramEditor/diagramEditorBayDetailSettingDlg.h b/diagramCavas/include/diagramEditor/diagramEditorBayDetailSettingDlg.h index a7eff6f..3187b00 100644 --- a/diagramCavas/include/diagramEditor/diagramEditorBayDetailSettingDlg.h +++ b/diagramCavas/include/diagramEditor/diagramEditorBayDetailSettingDlg.h @@ -15,6 +15,7 @@ class DiagramEditorBayBlock; class DiagramEditorBayPreviewDlg; class DiagramEditorModel; class QStandardItemModel; +class TitleBar; class DiagramEditorBayDetailSettingDlg : public QDialog { @@ -59,6 +60,7 @@ private: QStandardItemModel* _routeModel; //所有线路model DiagramEditorBayInfo _curBayInfo; //当前使用的间隔信息 DiagramEditorModel* _pModel; + TitleBar* m_titleBar; }; #endif diff --git a/diagramCavas/include/diagramEditor/diagramEditorBaySettingDlg.h b/diagramCavas/include/diagramEditor/diagramEditorBaySettingDlg.h index 5f4806f..cf1b415 100644 --- a/diagramCavas/include/diagramEditor/diagramEditorBaySettingDlg.h +++ b/diagramCavas/include/diagramEditor/diagramEditorBaySettingDlg.h @@ -11,6 +11,7 @@ QT_END_NAMESPACE class DiagramEditorWizard; class DiagramEditorBayBlock; class QListWidgetItem; +class TitleBar; class DiagramEditorBaySettingDlg : public QDialog { @@ -37,6 +38,7 @@ private: int _curModel; //0新增,1修改 DiagramEditorBayBlock* _curOperateBlock; //当前修改对象 int _curLevel; //当前层级 + TitleBar* m_titleBar; }; #endif diff --git a/diagramCavas/include/diagramEditor/diagramEditorTransDetailAddDlg.h b/diagramCavas/include/diagramEditor/diagramEditorTransDetailAddDlg.h index 4a8b654..0b91995 100644 --- a/diagramCavas/include/diagramEditor/diagramEditorTransDetailAddDlg.h +++ b/diagramCavas/include/diagramEditor/diagramEditorTransDetailAddDlg.h @@ -12,6 +12,7 @@ QT_END_NAMESPACE class DiagramEditorTransDetailSettingDlg; class QComboBox; +class TitleBar; class DiagramEditorTransDetailAddDlg : public QDialog { @@ -60,6 +61,7 @@ private: int _curMode; //0新建1修改 int _curType; //当前回路类型 0高压中性点1中2低 QStandardItemModel* _bindItemModel; //绑定的对象模型 + TitleBar* m_titleBar; }; #endif diff --git a/diagramCavas/include/diagramEditor/diagramEditorTransDetailSettingDlg.h b/diagramCavas/include/diagramEditor/diagramEditorTransDetailSettingDlg.h index 575b5ea..e3e075e 100644 --- a/diagramCavas/include/diagramEditor/diagramEditorTransDetailSettingDlg.h +++ b/diagramCavas/include/diagramEditor/diagramEditorTransDetailSettingDlg.h @@ -16,6 +16,7 @@ class DiagramEditorTransformerBlock; class DiagramEditorTransPreviewDlg; class DiagramEditorModel; class QTableView; +class TitleBar; class DiagramEditorTransDetailSettingDlg : public QDialog { @@ -59,6 +60,7 @@ private: DiagramEditorTransInfo _transInfo; //变压器信息 DiagramEditorModel* _pModel; QTableView* _curOperateRouteView; //当前操作的中性点拓扑view + TitleBar* m_titleBar; }; #endif diff --git a/diagramCavas/include/diagramEditor/diagramEditorTransSettingDlg.h b/diagramCavas/include/diagramEditor/diagramEditorTransSettingDlg.h index 4401812..8c2c492 100644 --- a/diagramCavas/include/diagramEditor/diagramEditorTransSettingDlg.h +++ b/diagramCavas/include/diagramEditor/diagramEditorTransSettingDlg.h @@ -10,6 +10,7 @@ QT_END_NAMESPACE class DiagramEditorWizard; class DiagramEditorTransformerBlock; +class TitleBar; class DiagramEditorTransSettingDlg : public QDialog { @@ -37,6 +38,7 @@ private: int _curModel; //0新增,1修改 DiagramEditorTransformerBlock* _curOperateBlock; //当前修改对象 QList _prepareDisconnectBlock; //准备断开的连接间隔 + TitleBar* m_titleBar; }; #endif diff --git a/diagramCavas/include/diagramEditor/diagramEditorWizard.h b/diagramCavas/include/diagramEditor/diagramEditorWizard.h index f8d8a43..f1ab5a6 100644 --- a/diagramCavas/include/diagramEditor/diagramEditorWizard.h +++ b/diagramCavas/include/diagramEditor/diagramEditorWizard.h @@ -15,6 +15,7 @@ class DiagramEditorStructContainer; class QListWidgetItem; class DiagramEditorBaySettingDlg; class DiagramEditorTransSettingDlg; +class TitleBar; class DiagramEditorWizard : public QDialog { @@ -86,6 +87,7 @@ private: QMap _mapBus; //母线信息 QMap> _mapSturctContainer; //划分后的区块 QMap _mapConnect; //连接列表 + TitleBar* m_titleBar; }; #endif diff --git a/diagramCavas/include/diagramEditor/layoutCalculator.h b/diagramCavas/include/diagramEditor/layoutCalculator.h index a9b1fdc..4a668f9 100644 --- a/diagramCavas/include/diagramEditor/layoutCalculator.h +++ b/diagramCavas/include/diagramEditor/layoutCalculator.h @@ -3,7 +3,7 @@ #include "layoutData.h" #include "common/core_model/constants.h" -class DiagramEditorWizard; +class DiagramEditorModel; class DiagramEditorBaseBlock; class DiagramEditorStructContainer; @@ -18,7 +18,7 @@ public: QList containers; }; - explicit FixedLayoutCalculator(DiagramEditorWizard* wizard); + explicit FixedLayoutCalculator(DiagramEditorModel* model); QMap calculateLayout(); @@ -40,7 +40,7 @@ private: double& deltaY, double& lastMaxDownH); private: - DiagramEditorWizard* m_wizard = nullptr; + DiagramEditorModel* m_model = nullptr; QMap m_blockPositions; // 全局常量 diff --git a/diagramCavas/include/graphicsDataModel/diagramEditorModel.h b/diagramCavas/include/graphicsDataModel/diagramEditorModel.h index ba252b7..11b2ddd 100644 --- a/diagramCavas/include/graphicsDataModel/diagramEditorModel.h +++ b/diagramCavas/include/graphicsDataModel/diagramEditorModel.h @@ -42,6 +42,7 @@ public: void setPanel(EditPanel* p) {_pPanel = p;} EditPanel* getPanel(){return _pPanel;} void setWizard(QPointer p){_pWizard = p;} + QPointer getWizard(){return _pWizard;} QMap getPreviewItem(){return _previewItem;}; void clearItems(); diff --git a/diagramCavas/include/itemPropertyDlg.h b/diagramCavas/include/itemPropertyDlg.h index 25b6ec8..1c7ddf7 100644 --- a/diagramCavas/include/itemPropertyDlg.h +++ b/diagramCavas/include/itemPropertyDlg.h @@ -15,6 +15,7 @@ QT_END_NAMESPACE class GraphicsProjectModelItem; class FixedPortsModel; +class TitleBar; class ItemPropertyDlg : public QDialog { @@ -53,6 +54,7 @@ private: GraphicsProjectModelItem* _curItem; FixedPortsModel* _curModelController; QString _curGroup; //当前属性组 + TitleBar* m_titleBar; }; #endif diff --git a/diagramCavas/include/loadMonitorPageDlg.h b/diagramCavas/include/loadMonitorPageDlg.h index 0d55cb9..f8fa187 100644 --- a/diagramCavas/include/loadMonitorPageDlg.h +++ b/diagramCavas/include/loadMonitorPageDlg.h @@ -10,6 +10,7 @@ namespace Ui { class loadMonitorPageDlg; } QT_END_NAMESPACE struct DiagramInfo; +class TitleBar; class LoadMonitorPageDlg : public QDialog { @@ -31,6 +32,7 @@ private: private: Ui::loadMonitorPageDlg *ui; QStandardItemModel* _pModel; + TitleBar* m_titleBar; }; #endif diff --git a/diagramCavas/include/measureSettingDlg.h b/diagramCavas/include/measureSettingDlg.h index d1b21e5..b6fbf74 100644 --- a/diagramCavas/include/measureSettingDlg.h +++ b/diagramCavas/include/measureSettingDlg.h @@ -15,6 +15,7 @@ QT_END_NAMESPACE class BayInfoDlg; class BayMeasureDlg; +class TitleBar; class MeasureSettingDlg : public QDialog { @@ -62,6 +63,7 @@ private: int _curComponentType; bool _isDouble = false; int _nParentType = 0; //所属父类型 0元件 1间隔 + TitleBar* m_titleBar; }; #endif diff --git a/diagramCavas/include/monitorConfigDlg.h b/diagramCavas/include/monitorConfigDlg.h index 4897edd..5d106ad 100644 --- a/diagramCavas/include/monitorConfigDlg.h +++ b/diagramCavas/include/monitorConfigDlg.h @@ -16,6 +16,7 @@ class QStandardItem; struct MonitorItemAttributeInfo; class QCompleter; class QStringListModel; +class TitleBar; class MonitorConfigDlg : public QDialog { @@ -52,7 +53,7 @@ private: QStringList _curRecommandLst; //当前推荐列表 QCompleter* _recommandCompleter; //自动填充器 QStringListModel* _strLstModel; //自动填充模型 - + TitleBar* m_titleBar; }; #endif diff --git a/diagramCavas/include/monitorDetailAttributeDlg.h b/diagramCavas/include/monitorDetailAttributeDlg.h index b0afb08..9bebd2d 100644 --- a/diagramCavas/include/monitorDetailAttributeDlg.h +++ b/diagramCavas/include/monitorDetailAttributeDlg.h @@ -13,6 +13,7 @@ QT_END_NAMESPACE class QGridLayout; class MonitorAttributeGroupDlg; class MonitorPanel; +class TitleBar; class MonitorDetailAttributeDlg : public QDialog { @@ -37,6 +38,7 @@ private: QMap _curGroups; MonitorPanel* _pParent; QUuid _curId; + TitleBar* m_titleBar; }; #endif diff --git a/diagramCavas/include/monitorDisplaySettingDlg.h b/diagramCavas/include/monitorDisplaySettingDlg.h index 809c30a..45cbed9 100644 --- a/diagramCavas/include/monitorDisplaySettingDlg.h +++ b/diagramCavas/include/monitorDisplaySettingDlg.h @@ -11,6 +11,7 @@ namespace Ui { class monitorDisplaySettingDlg; } QT_END_NAMESPACE class MonitorPanel; +class TitleBar; class MonitorDisplaySettingDlg : public QDialog { @@ -52,7 +53,7 @@ private: QString _curMeta; QString _curModel; QMap> _tempSetting; - + TitleBar* m_titleBar; }; #endif diff --git a/diagramCavas/include/projectDiagramNameInput.h b/diagramCavas/include/projectDiagramNameInput.h index abc44c3..d3ab290 100644 --- a/diagramCavas/include/projectDiagramNameInput.h +++ b/diagramCavas/include/projectDiagramNameInput.h @@ -8,6 +8,7 @@ namespace Ui { class projectDiagramNameInput; } QT_END_NAMESPACE class FixedPortsModel; +class TitleBar; class ProjectDiagramNameInput : public QDialog { @@ -27,6 +28,7 @@ public slots: private: Ui::projectDiagramNameInput *ui; FixedPortsModel* _model; + TitleBar* m_titleBar; }; #endif diff --git a/diagramCavas/include/projectIconSetting.h b/diagramCavas/include/projectIconSetting.h index 453150d..8a027b4 100644 --- a/diagramCavas/include/projectIconSetting.h +++ b/diagramCavas/include/projectIconSetting.h @@ -6,6 +6,7 @@ class FixedPortsModel; class GraphicsProjectModelItem; +class TitleBar; QT_BEGIN_NAMESPACE namespace Ui { class projectIconSetting; } @@ -32,6 +33,7 @@ private: FixedPortsModel* _controller; QString _sMetaModel; QString _sModel; + TitleBar* m_titleBar; }; #endif diff --git a/diagramCavas/include/projectModelSetting.h b/diagramCavas/include/projectModelSetting.h index 71dcd55..dbb8ae6 100644 --- a/diagramCavas/include/projectModelSetting.h +++ b/diagramCavas/include/projectModelSetting.h @@ -10,6 +10,7 @@ QT_END_NAMESPACE class GraphicsBaseModelItem; class BaseModelProperty; class FixedPortsModel; +class TitleBar; class ProjectModelSetting : public QDialog { @@ -44,6 +45,7 @@ private: FixedPortsModel* _controller; BaseModelProperty* _curItemData; //当前操作对象的属性 QString _curPath; + TitleBar* m_titleBar; }; #endif diff --git a/diagramCavas/source/bayManagerDlg.cpp b/diagramCavas/source/bayManagerDlg.cpp index f8aed81..4eb865d 100644 --- a/diagramCavas/source/bayManagerDlg.cpp +++ b/diagramCavas/source/bayManagerDlg.cpp @@ -3,6 +3,7 @@ #include "graphicsItem/electricBayItem.h" #include "graphicsDataModel/fixedPortsModel.h" #include "ui_bayManagerDlg.h" +#include "titleBar.h" BayManagerDlg::BayManagerDlg(QWidget *parent) : QDialog(parent) @@ -21,6 +22,10 @@ BayManagerDlg::~BayManagerDlg() void BayManagerDlg::initial() { + m_titleBar = new TitleBar(this); + m_titleBar->setTitle("间隔管理"); + ui->verticalLayout_2->insertWidget(0,m_titleBar); + connect(ui->btn_ok,&QPushButton::clicked,this,&BayManagerDlg::onOkClicked); connect(ui->btn_cancel,&QPushButton::clicked,this,&BayManagerDlg::onCancelClicked); connect(ui->listWidget,&QListWidget::itemClicked,this,&BayManagerDlg::onListItemClicked); diff --git a/diagramCavas/source/bayMeasureDlg.cpp b/diagramCavas/source/bayMeasureDlg.cpp index 619e74b..16cfe06 100644 --- a/diagramCavas/source/bayMeasureDlg.cpp +++ b/diagramCavas/source/bayMeasureDlg.cpp @@ -9,6 +9,7 @@ #include "measureSettingDlg.h" #include "graphicsDataModel/fixedPortsModel.h" #include "dataBase.h" +#include "titleBar.h" BayMeasureDlg::BayMeasureDlg(QWidget *parent) : QDialog(parent) @@ -175,6 +176,10 @@ void BayMeasureDlg::setPropertyValue(BayProperty* pBay) void BayMeasureDlg::setUi() { + m_titleBar = new TitleBar(this); + m_titleBar->setTitle("参数设置"); + ui->verticalLayout_3->insertWidget(0,m_titleBar); + QStringList headerText; headerText<<"TAG"<<"名称"<<"设备"<<"端子"<<"类型"<<"SIZE"<<"事件"; ui->tableWidget_local->setContextMenuPolicy(Qt::CustomContextMenu); diff --git a/diagramCavas/source/dataSourceDlg.cpp b/diagramCavas/source/dataSourceDlg.cpp index beceb1d..5f4a528 100644 --- a/diagramCavas/source/dataSourceDlg.cpp +++ b/diagramCavas/source/dataSourceDlg.cpp @@ -6,7 +6,7 @@ #include "extraPropertyManager.h" #include "propertyType/dataSourceType.h" #include -//#include "global.h" +#include "titleBar.h" DataSourceDlg::DataSourceDlg(QWidget *parent) : QDialog(parent) @@ -30,6 +30,10 @@ DataSourceDlg::~DataSourceDlg() void DataSourceDlg::initial() { + m_titleBar = new TitleBar(this); + m_titleBar->setTitle("数据源选择"); + ui->verticalLayout_4->insertWidget(0,m_titleBar); + connect(ui->btn_ok,&QPushButton::clicked,this,&DataSourceDlg::onOkClicked); connect(ui->btn_cancel,&QPushButton::clicked,this,&DataSourceDlg::onCancelClicked); diff --git a/diagramCavas/source/diagramCavas.cpp b/diagramCavas/source/diagramCavas.cpp index b94743e..cc21303 100644 --- a/diagramCavas/source/diagramCavas.cpp +++ b/diagramCavas/source/diagramCavas.cpp @@ -134,7 +134,7 @@ void DiagramCavas::initial() { TopologyManager::instance().createDiagram(QString::number(info.id),info.name); } - _cornerButton = new CornerMonitorLauncher(this); + /*_cornerButton = new CornerMonitorLauncher(this); _cornerButton->showDlg(); _loadMonitorPageDlg = new LoadMonitorPageDlg(this); connect(_cornerButton,&CornerMonitorLauncher::openLoadMonitorDlg,this,[&](){ @@ -142,7 +142,7 @@ void DiagramCavas::initial() updateMonitorListFromDB(1); _loadMonitorPageDlg->show(); } - }); + });*/ connect(_loadMonitorPageDlg,&LoadMonitorPageDlg::monitorSelected,this,&DiagramCavas::onSignal_monitorSelected); _connectSetting = new DiagramConnectSetting(this); diff --git a/diagramCavas/source/diagramConnectSetting.cpp b/diagramCavas/source/diagramConnectSetting.cpp index 953fbd0..0681c5b 100644 --- a/diagramCavas/source/diagramConnectSetting.cpp +++ b/diagramCavas/source/diagramConnectSetting.cpp @@ -3,6 +3,7 @@ #include "diagramCommunication/include/configManager.h" #include "uiCommunicationBus.h" #include "communicationManager.h" +#include "titleBar.h" DiagramConnectSetting::DiagramConnectSetting(QWidget *parent) : QDialog(parent) @@ -20,6 +21,10 @@ DiagramConnectSetting::~DiagramConnectSetting() void DiagramConnectSetting::initial() { + m_titleBar = new TitleBar(this); + m_titleBar->setTitle("网络连接设置"); + ui->verticalLayout->insertWidget(0,m_titleBar); + connect(ui->btn_testRecommand,&QPushButton::clicked,this,&DiagramConnectSetting::onTestHttpRecommandClicked); connect(ui->btn_testData,&QPushButton::clicked,this,&DiagramConnectSetting::onTestHttpDataClicked); connect(ui->btn_testData,&QPushButton::clicked,this,&DiagramConnectSetting::onTestWebsocketClicked); diff --git a/diagramCavas/source/diagramEditor/confirmEditorDlg.cpp b/diagramCavas/source/diagramEditor/confirmEditorDlg.cpp index 36df85a..b4d9768 100644 --- a/diagramCavas/source/diagramEditor/confirmEditorDlg.cpp +++ b/diagramCavas/source/diagramEditor/confirmEditorDlg.cpp @@ -1,6 +1,7 @@ #include "ui_confirmEditorDlg.h" #include "diagramEditor/confirmEditorDlg.h" #include +#include "titleBar.h" ConfirmEditorDlg::ConfirmEditorDlg(QWidget *parent) : QDialog(parent) @@ -19,6 +20,10 @@ ConfirmEditorDlg::~ConfirmEditorDlg() void ConfirmEditorDlg::initial() { + m_titleBar = new TitleBar(this); + m_titleBar->setTitle("保存拓扑"); + ui->verticalLayout->insertWidget(0,m_titleBar); + connect(ui->btn_ok,&QPushButton::clicked,this,&ConfirmEditorDlg::onOkClicked); connect(ui->btn_cancel,&QPushButton::clicked,this,&ConfirmEditorDlg::onCancelClicked); } diff --git a/diagramCavas/source/diagramEditor/diagramEditorBayDetailAddDlg.cpp b/diagramCavas/source/diagramEditor/diagramEditorBayDetailAddDlg.cpp index 43d197c..d2090aa 100644 --- a/diagramCavas/source/diagramEditor/diagramEditorBayDetailAddDlg.cpp +++ b/diagramCavas/source/diagramEditor/diagramEditorBayDetailAddDlg.cpp @@ -7,6 +7,7 @@ #include "diagramEditor/diagramEditorBaseBlock.h" #include "diagramEditor/diagramEditorWizard.h" #include "include/instance/baseTypeManager.h" +#include "titleBar.h" DiagramEditorBayDetailAddDlg::DiagramEditorBayDetailAddDlg(QWidget *parent) : QDialog(parent) @@ -28,6 +29,10 @@ DiagramEditorBayDetailAddDlg::~DiagramEditorBayDetailAddDlg() void DiagramEditorBayDetailAddDlg::initial() { + m_titleBar = new TitleBar(this); + m_titleBar->setTitle("新增线路"); + ui->gridLayout_2->addWidget(m_titleBar, 0, 0, 1, 2); //占两列 + _curMode = 0; _selectedModel = new QStandardItemModel(this); _selectedModel->setHorizontalHeaderLabels({"分类", "名称", "类型", "关联对象", "引用线路"}); @@ -257,7 +262,8 @@ void DiagramEditorBayDetailAddDlg::showDlg() int n = pRoute->rowCount(); ui->le_routeName->setText("线路"+QString::number(n+1)); ui->tableView_items->setModel(pCompo); - ui->label->setText("新建线路"); + //ui->label->setText("新建线路"); + m_titleBar->setTitle("新增线路"); //ui->le_routeName->setReadOnly(true); _curMode = 0; updateBindLst(); @@ -313,7 +319,8 @@ void DiagramEditorBayDetailAddDlg::showDlg(DiagramEditorRouteInfo info) _selectedModel->appendRow(lstItems); } show(); - ui->label->setText("编辑线路"); + m_titleBar->setTitle("编辑线路"); + //ui->label->setText("编辑线路"); ui->le_routeName->setReadOnly(false); _curMode = 1; updateBindLst(); @@ -590,6 +597,10 @@ void DiagramEditorBayDetailAddDlg::onOkClicked() int nCount = pRoute->rowCount(); for(int i = 0;i < rowCount;++i){ QStandardItem *itemName = pRoute->item(i, 0); + if(!itemName){ + qDebug() << "name item node found!"; + continue; + } if(itemName->text() == sRoute){ itemName->setData(nMain); QStandardItem *itemRoutes = pRoute->item(i, 2); @@ -600,6 +611,10 @@ void DiagramEditorBayDetailAddDlg::onOkClicked() for(int i = 0;i < rowCount;++i){ //重新加载所有父路线 QStandardItem *itemName = pRoute->item(i, 0); + if(!itemName){ + qDebug() << "name item node found!"; + continue; + } for(auto& route:mapRoute){ if(itemName->text() == route.sRouteName){ QStandardItem *itemParnet = pRoute->item(i, 1); diff --git a/diagramCavas/source/diagramEditor/diagramEditorBayDetailSettingDlg.cpp b/diagramCavas/source/diagramEditor/diagramEditorBayDetailSettingDlg.cpp index eae27ce..74b22c0 100644 --- a/diagramCavas/source/diagramEditor/diagramEditorBayDetailSettingDlg.cpp +++ b/diagramCavas/source/diagramEditor/diagramEditorBayDetailSettingDlg.cpp @@ -11,6 +11,7 @@ #include "diagramEditor/editPanel.h" #include "topologyManager.h" #include +#include "titleBar.h" DiagramEditorBayDetailSettingDlg::DiagramEditorBayDetailSettingDlg(QWidget *parent,DiagramEditorModel* pModel) : QDialog(parent) @@ -37,6 +38,10 @@ DiagramEditorBayDetailSettingDlg::~DiagramEditorBayDetailSettingDlg() void DiagramEditorBayDetailSettingDlg::initial() { + m_titleBar = new TitleBar(this); + m_titleBar->setTitle("间隔详细设置"); + ui->verticalLayout_2->insertWidget(0,m_titleBar); + _compoModel = new QStandardItemModel(this); _routeModel = new QStandardItemModel(this); _routeModel->setHorizontalHeaderLabels({"线路名", "父线路","包含设备"}); @@ -174,7 +179,7 @@ void DiagramEditorBayDetailSettingDlg::showDlg(DiagramEditorBayBlock* p) ui->cb_locate->setCurrentIndex(0); else ui->cb_locate->setCurrentIndex(1); - ui->label_bay->setText(p->getName()); + m_titleBar->setCenterText(p->getName()); refreshModel(); } diff --git a/diagramCavas/source/diagramEditor/diagramEditorBaySettingDlg.cpp b/diagramCavas/source/diagramEditor/diagramEditorBaySettingDlg.cpp index 24329d8..bb72365 100644 --- a/diagramCavas/source/diagramEditor/diagramEditorBaySettingDlg.cpp +++ b/diagramCavas/source/diagramEditor/diagramEditorBaySettingDlg.cpp @@ -7,6 +7,7 @@ #include "ui_diagramEditorBaySettingDlg.h" #include "diagramEditor/diagramEditorStructContainer.h" #include "diagramEditor/wizardBayContentDlg.h" +#include "titleBar.h" DiagramEditorBaySettingDlg::DiagramEditorBaySettingDlg(QWidget *parent) : QDialog(parent) @@ -97,6 +98,10 @@ void DiagramEditorBaySettingDlg::addNewBay() void DiagramEditorBaySettingDlg::initial() { + m_titleBar = new TitleBar(this); + m_titleBar->setTitle("间隔设置"); + ui->verticalLayout_3->insertWidget(0,m_titleBar); + _curModel = 0; _curLevel = 0; connect(ui->btn_add,&QPushButton::clicked,this,&DiagramEditorBaySettingDlg::onAddClicked); diff --git a/diagramCavas/source/diagramEditor/diagramEditorTransDetailAddDlg.cpp b/diagramCavas/source/diagramEditor/diagramEditorTransDetailAddDlg.cpp index ef675ad..9e754c9 100644 --- a/diagramCavas/source/diagramEditor/diagramEditorTransDetailAddDlg.cpp +++ b/diagramCavas/source/diagramEditor/diagramEditorTransDetailAddDlg.cpp @@ -6,6 +6,7 @@ #include "diagramEditor/diagramEditorBaseBlock.h" #include "diagramEditor/diagramEditorWizard.h" #include "include/instance/baseTypeManager.h" +#include "titleBar.h" DiagramEditorTransDetailAddDlg::DiagramEditorTransDetailAddDlg(QWidget *parent) : QDialog(parent) @@ -27,6 +28,9 @@ DiagramEditorTransDetailAddDlg::~DiagramEditorTransDetailAddDlg() void DiagramEditorTransDetailAddDlg::initial() { + m_titleBar = new TitleBar(this); + m_titleBar->setTitle("新增线路"); + ui->gridLayout_2->addWidget(m_titleBar, 0, 0, 1, 2); //占两列 _curMode = 0; _curType = 0; _selectedModel = new QStandardItemModel(this); @@ -83,7 +87,8 @@ void DiagramEditorTransDetailAddDlg::showDlg(int nType) int n = pRoute->rowCount(); ui->le_routeName->setText("线路"+QString::number(n+1)); ui->tableView_items->setModel(pCompo); - ui->label->setText("新建线路"); + //ui->label->setText("新建线路"); + m_titleBar->setCenterText("新建线路"); ui->le_routeName->setReadOnly(true); _curMode = 0; _curType = nType; @@ -129,7 +134,8 @@ void DiagramEditorTransDetailAddDlg::showDlg(DiagramEditorRouteInfo info) } updateBindLst(); show(); - ui->label->setText("编辑线路"); + //ui->label->setText("编辑线路"); + m_titleBar->setCenterText("编辑线路"); ui->le_routeName->setReadOnly(false); _curMode = 1; } diff --git a/diagramCavas/source/diagramEditor/diagramEditorTransDetailSettingDlg.cpp b/diagramCavas/source/diagramEditor/diagramEditorTransDetailSettingDlg.cpp index 1100bd2..aa03329 100644 --- a/diagramCavas/source/diagramEditor/diagramEditorTransDetailSettingDlg.cpp +++ b/diagramCavas/source/diagramEditor/diagramEditorTransDetailSettingDlg.cpp @@ -9,6 +9,7 @@ #include "topologyManager.h" #include "diagramEditor/diagramEditorTransPreviewDlg.h" #include "include/instance/baseTypeManager.h" +#include "titleBar.h" DiagramEditorTransDetailSettingDlg::DiagramEditorTransDetailSettingDlg(QWidget *parent,DiagramEditorModel* pModel) : QDialog(parent) @@ -34,6 +35,10 @@ DiagramEditorTransDetailSettingDlg::~DiagramEditorTransDetailSettingDlg() void DiagramEditorTransDetailSettingDlg::initial() { + m_titleBar = new TitleBar(this); + m_titleBar->setTitle("变压器设置"); + ui->verticalLayout_4->insertWidget(0,m_titleBar); + _compoModel = new QStandardItemModel(this); for(int i = 0;i < 3;++i){ auto pModel = new QStandardItemModel(this); @@ -183,7 +188,8 @@ void DiagramEditorTransDetailSettingDlg::showDlg(DiagramEditorTransformerBlock* { show(); _curOperateObj = p; - ui->label_name->setText(p->getName()); + //ui->label_name->setText(p->getName()); + m_titleBar->setCenterText(p->getName()); refreshModel(); } diff --git a/diagramCavas/source/diagramEditor/diagramEditorTransSettingDlg.cpp b/diagramCavas/source/diagramEditor/diagramEditorTransSettingDlg.cpp index e42225b..2effb3b 100644 --- a/diagramCavas/source/diagramEditor/diagramEditorTransSettingDlg.cpp +++ b/diagramCavas/source/diagramEditor/diagramEditorTransSettingDlg.cpp @@ -7,6 +7,7 @@ #include "diagramEditor/wizardBayContentDlg.h" #include "common/core_model/constants.h" #include +#include "titleBar.h" DiagramEditorTransSettingDlg::DiagramEditorTransSettingDlg(QWidget *parent) : QDialog(parent) @@ -115,6 +116,10 @@ void DiagramEditorTransSettingDlg::addNewTrans() void DiagramEditorTransSettingDlg::initial() { + m_titleBar = new TitleBar(this); + m_titleBar->setTitle("变压器设置"); + ui->verticalLayout_3->insertWidget(0,m_titleBar); + _curModel = 0; connect(ui->btn_add,&QPushButton::clicked,this,&DiagramEditorTransSettingDlg::onAddClicked); connect(ui->btn_delete,&QPushButton::clicked,this,&DiagramEditorTransSettingDlg::onDeleteClicked); diff --git a/diagramCavas/source/diagramEditor/diagramEditorWizard.cpp b/diagramCavas/source/diagramEditor/diagramEditorWizard.cpp index c60fd44..523c2cb 100644 --- a/diagramCavas/source/diagramEditor/diagramEditorWizard.cpp +++ b/diagramCavas/source/diagramEditor/diagramEditorWizard.cpp @@ -12,6 +12,7 @@ #include "diagramEditor/diagramEditorBaySettingDlg.h" #include "diagramEditor/diagramEditorTransSettingDlg.h" #include "common/core_model/constants.h" +#include "titleBar.h" DiagramEditorWizard::DiagramEditorWizard(QWidget *parent) : QDialog(parent) @@ -33,6 +34,11 @@ DiagramEditorWizard::~DiagramEditorWizard() void DiagramEditorWizard::initial() { + // 创建标题栏 + m_titleBar = new TitleBar(this); + m_titleBar->setTitle("组态向导"); + ui->verticalLayout_3->insertWidget(0,m_titleBar); + _bayContentDlg = new WizardBayContentDlg(this); _bayContentDlg->setParent(this); ui->stackedWidget->addWidget(_bayContentDlg); diff --git a/diagramCavas/source/diagramEditor/editPanel.cpp b/diagramCavas/source/diagramEditor/editPanel.cpp index ade9b35..a83a964 100644 --- a/diagramCavas/source/diagramEditor/editPanel.cpp +++ b/diagramCavas/source/diagramEditor/editPanel.cpp @@ -249,7 +249,7 @@ QList EditPanel::getBlockItems(EditorItemType typ) { QList lst; auto allItems = m_pEditScene->items(); - for(auto item:allItems){ + for(auto &item:allItems){ auto p = dynamic_cast(item); if(p){ EditorItemType eType = p->getType(); @@ -286,7 +286,7 @@ void EditPanel::onContainerSizeChanged(EditContainerItem* pItem) { if(pItem){ auto lst = pItem->childItems(); - for(auto p:lst){ + for(auto &p:lst){ auto pBase = dynamic_cast(p); if(pBase){ QString sName = pBase->getName(); @@ -350,7 +350,7 @@ void EditPanel::calculateContainerWidth(EditContainerItem* pItem) int nTop = 0; //container上层item数 int nBottom = 0; //下层 bool isSection = false; //是否分段 - for(auto p:lst){ + for(auto &p:lst){ auto pBase = dynamic_cast(p); if(pBase){ QString sName = pBase->getName(); @@ -505,7 +505,7 @@ void EditPanel::processAllContainerLevels(const ContainerStructMap& containerStr auto keys = containerStruct.keys(); std::sort(keys.begin(), keys.end()); - for (int level : keys) { + for (int &level : keys) { if (level == Constants::TRANSFORMER_LEVEL) { // 特殊处理变压器层级 processTransformerLevel(containerStruct.value(level)); @@ -575,9 +575,18 @@ void EditPanel::processTransformerLevel(const QList& container const auto& blockMap = container->getBlockMap(); auto result = transformerBuilder.buildContainer(blockMap); - if (result.container) { + /*if (result.container) { rowLayout->addItem(result.container); - } + }*/ + + // ✅ 每个变压器前加 stretch + rowLayout->addStretch(); + + // ✅ 变压器本身 + rowLayout->addItem(result.container); + + // ✅ 每个变压器后加 stretch + rowLayout->addStretch(); // 累积变压器层级项 _accumulatedBayItems.append(result.bayItems); diff --git a/diagramCavas/source/diagramEditor/layoutCalculator.cpp b/diagramCavas/source/diagramEditor/layoutCalculator.cpp index d63f300..5b1c5cb 100644 --- a/diagramCavas/source/diagramEditor/layoutCalculator.cpp +++ b/diagramCavas/source/diagramEditor/layoutCalculator.cpp @@ -1,22 +1,25 @@ // LayoutCalculator.cpp #include "diagramEditor/layoutCalculator.h" #include "diagramEditor/diagramEditorWizard.h" +#include "graphicsDataModel/diagramEditorModel.h" #include "diagramEditor/diagramEditorStructContainer.h" #include "diagramEditor/diagramEditorBaseBlock.h" +#include "diagramEditor/editPanel.h" +#include "diagramEditor/editScene.h" #include -FixedLayoutCalculator::FixedLayoutCalculator(DiagramEditorWizard* wizard) - : m_wizard(wizard) {} +FixedLayoutCalculator::FixedLayoutCalculator(DiagramEditorModel* model) + : m_model(model) {} QMap FixedLayoutCalculator::calculateLayout() { m_blockPositions.clear(); - if (!m_wizard) { + if (!m_model) { qWarning() << "FixedLayoutCalculator: Wizard为空"; return m_blockPositions; } - auto mapTotal = m_wizard->getContainerStruct(); + auto mapTotal = m_model->getWizard()->getContainerStruct(); double deltaY = 0; double lastMaxDownH = 0; @@ -213,60 +216,83 @@ void FixedLayoutCalculator::calculateBlockPositionsInContainer(DiagramEditorStru } } -void FixedLayoutCalculator::calculateTransformerPositions(const QList& transformers, - double& deltaY, double& lastMaxDownH) { - if (transformers.isEmpty()) return; +void FixedLayoutCalculator::calculateTransformerPositions( + const QList& transformers, + double& deltaY, double& lastMaxDownH) +{ + if (transformers.isEmpty()) + return; - // 计算变压器尺寸 + // ---------- ① 计算变压器尺寸 ---------- for (auto container : transformers) { - if (!container) continue; + if (!container) + continue; auto mapBlocks = container->getBlockMap(); - auto transBlocks = mapBlocks.value(1); // 变压器在layer 1 + auto transBlocks = mapBlocks.value(1); // layer 1 + + if (transBlocks.isEmpty()) + continue; for (auto block : transBlocks) { - if (!block) continue; + if (!block) + continue; + QRectF rec = block->getRecSize(); container->setWidth(rec.width()); container->setHeight(rec.height()); - break; // 只取第一个变压器 + break; // 仍然只取第一个 } } - // 计算变压器位置 - double startX = TRANSFORMER_START_X; - bool isFirstTransformer = true; + // ---------- ② 纵向位置(保持不变) ---------- + double centerY = 0; + if (!transformers.isEmpty()) { + deltaY += CONTAINER_H_SPACING + lastMaxDownH + transformers.first()->getHeight(); + centerY = deltaY - transformers.first()->getHeight() * 0.5; + } - for (auto container : transformers) { - if (!container) continue; + // ---------- ③ 固定宽度水平布局 ---------- + double sceneWidth = m_model->getPanel()->getScene()->width(); + const int count = transformers.size(); - // 计算垂直位置 - if (isFirstTransformer) { - deltaY = deltaY + BUS_V_SPACING + lastMaxDownH + container->getHeight(); - isFirstTransformer = false; - } + // 没有变压器,直接返回 + if (count == 0) + return; + + // 等间距分布(含左右边距) + const double spacing = sceneWidth / (count + 1); + + // ---------- ④ 逐个放置 ---------- + for (int i = 0; i < count; ++i) { + auto container = transformers.at(i); + if (!container) + continue; - double centerY = deltaY - container->getHeight() * 0.5; container->setStartY(centerY); + + // 计算水平中心 + const double centerX = spacing * (i + 1); + const double startX = centerX - container->getWidth() * 0.5; container->setStartX(startX); - // 计算变压器内部设备位置 + // ---------- ⑤ 内部 block 居中 ---------- auto mapBlocks = container->getBlockMap(); for (auto it = mapBlocks.begin(); it != mapBlocks.end(); ++it) { for (auto block : it.value()) { - if (!block) continue; + if (!block) + continue; QRectF rec = block->getRecSize(); - QPointF center(startX + rec.width() * 0.5, - centerY + rec.height() * 0.5); + QPointF pos( + startX + rec.width() * 0.5, + centerY + rec.height() * 0.5 + ); - m_blockPositions[block] = center; - block->setSeceneDelta(center); + m_blockPositions[block] = pos; + block->setSeceneDelta(pos); } } - - // 更新水平位置 - startX += container->getWidth() + TRANSFORMER_SPACING; } } diff --git a/diagramCavas/source/diagramEditor/transformerBuilder.cpp b/diagramCavas/source/diagramEditor/transformerBuilder.cpp index f90e991..4fdffaa 100644 --- a/diagramCavas/source/diagramEditor/transformerBuilder.cpp +++ b/diagramCavas/source/diagramEditor/transformerBuilder.cpp @@ -23,7 +23,7 @@ LayoutBuilder::BuildResult TransformerBuilder::buildContainer(const BlockMap& bl QGraphicsLinearLayout* TransformerBuilder::createTransformerRowLayout() { auto layout = createRowLayout(); - layout->insertStretch(0); + //layout->insertStretch(0); layout->addStretch(); return layout; } diff --git a/diagramCavas/source/diagramEditor/wizardBusTableDelegate.cpp b/diagramCavas/source/diagramEditor/wizardBusTableDelegate.cpp index 89a6043..f293940 100644 --- a/diagramCavas/source/diagramEditor/wizardBusTableDelegate.cpp +++ b/diagramCavas/source/diagramEditor/wizardBusTableDelegate.cpp @@ -44,6 +44,7 @@ QWidget* WizardBusTableDelegate::createEditor(QWidget* parent, const QStyleOptio { QComboBox *editor = new QComboBox(parent); editor->addItems({"分段连接"}); + editor->addItems({"无"}); return editor; } return nullptr; @@ -187,7 +188,7 @@ bool WizardBusTableDelegate::editorEvent(QEvent* event, QAbstractItemModel* mode QVariant data1 = combo1->currentData(); // 组合显示文本 - QString displayText = "分段:"+text1; + QString displayText = text1; // 组合数据(使用自定义格式) QVariant combinedData = QString("%1").arg(data1.toInt()); diff --git a/diagramCavas/source/graphicsDataModel/diagramEditorModel.cpp b/diagramCavas/source/graphicsDataModel/diagramEditorModel.cpp index 59d1597..5e2d878 100644 --- a/diagramCavas/source/graphicsDataModel/diagramEditorModel.cpp +++ b/diagramCavas/source/graphicsDataModel/diagramEditorModel.cpp @@ -798,13 +798,8 @@ void DiagramEditorModel::generatePreview(bool bVisible) void DiagramEditorModel::calculateBlockPos() { - if (!_pWizard) { - qWarning() << "calculateBlockPos: Wizard为空"; - return; - } - // 使用修正后的布局计算器 - FixedLayoutCalculator calculator(_pWizard); + FixedLayoutCalculator calculator(this); // 计算布局 auto blockPositions = calculator.calculateLayout(); diff --git a/diagramCavas/source/graphicsItem/graphicsBaseItem.cpp b/diagramCavas/source/graphicsItem/graphicsBaseItem.cpp index de26629..6340450 100644 --- a/diagramCavas/source/graphicsItem/graphicsBaseItem.cpp +++ b/diagramCavas/source/graphicsItem/graphicsBaseItem.cpp @@ -587,7 +587,7 @@ GraphicsProjectModelItem::GraphicsProjectModelItem(QGraphicsItem *parent) pVoltage->setParent(this); m_vecHanle.insert(h_textVoltage,pVoltage);*/ - setFlag(QGraphicsItem::ItemIsMovable, true); + //setFlag(QGraphicsItem::ItemIsMovable, true); setFlag(QGraphicsItem::ItemIsSelectable, true); setFlag(QGraphicsItem::ItemSendsGeometryChanges, true); diff --git a/diagramCavas/source/itemPropertyDlg.cpp b/diagramCavas/source/itemPropertyDlg.cpp index fca34fa..f61dcd4 100644 --- a/diagramCavas/source/itemPropertyDlg.cpp +++ b/diagramCavas/source/itemPropertyDlg.cpp @@ -13,6 +13,7 @@ #include "ptExtraInfoDlg.h" #include "ctExtraInfoDlg.h" #include "bayInfoDlg.h" +#include "titleBar.h" ItemPropertyDlg::ItemPropertyDlg(QWidget *parent) : QDialog(parent) @@ -34,6 +35,10 @@ ItemPropertyDlg::~ItemPropertyDlg() void ItemPropertyDlg::initial() { + m_titleBar = new TitleBar(this); + m_titleBar->setTitle("参数设置"); + ui->verticalLayout->insertWidget(0,m_titleBar); + layout_ = new QVBoxLayout(ui->widget_button); btnGroup_ = new QButtonGroup(this); connect(ui->btn_ok,&QPushButton::clicked,this,&ItemPropertyDlg::onOkClicked); diff --git a/diagramCavas/source/loadMonitorPageDlg.cpp b/diagramCavas/source/loadMonitorPageDlg.cpp index 0f8c0d6..99a3e72 100644 --- a/diagramCavas/source/loadMonitorPageDlg.cpp +++ b/diagramCavas/source/loadMonitorPageDlg.cpp @@ -4,6 +4,7 @@ #include "common/core_model/diagram.h" #include "tools.h" #include +#include "titleBar.h" LoadMonitorPageDlg::LoadMonitorPageDlg(QWidget *parent) : QDialog(parent) @@ -22,6 +23,10 @@ LoadMonitorPageDlg::~LoadMonitorPageDlg() void LoadMonitorPageDlg::initial() { + m_titleBar = new TitleBar(this); + m_titleBar->setTitle("载入运行时"); + ui->verticalLayout->insertWidget(0,m_titleBar); + _pModel = new QStandardItemModel(this); ui->treeView->setModel(_pModel); ui->treeView->setHeaderHidden(true); diff --git a/diagramCavas/source/measureSettingDlg.cpp b/diagramCavas/source/measureSettingDlg.cpp index 21039db..b99c915 100644 --- a/diagramCavas/source/measureSettingDlg.cpp +++ b/diagramCavas/source/measureSettingDlg.cpp @@ -7,6 +7,7 @@ #include "baseProperty.h" #include "basePropertyManager.h" #include "ui_measureSettingDlg.h" +#include "titleBar.h" MeasureSettingDlg::MeasureSettingDlg(QWidget *parent) : QDialog(parent) @@ -30,6 +31,10 @@ MeasureSettingDlg::~MeasureSettingDlg() void MeasureSettingDlg::initial() { + m_titleBar = new TitleBar(this); + m_titleBar->setTitle("量测设置"); + ui->verticalLayout->insertWidget(0,m_titleBar); + _pEventStrategy = new QButtonGroup(this); _pEventStrategy->addButton(ui->rb_eventOff,0); _pEventStrategy->addButton(ui->rb_eventOn,1); diff --git a/diagramCavas/source/monitorConfigDlg.cpp b/diagramCavas/source/monitorConfigDlg.cpp index b63897e..fc0427d 100644 --- a/diagramCavas/source/monitorConfigDlg.cpp +++ b/diagramCavas/source/monitorConfigDlg.cpp @@ -5,7 +5,7 @@ #include #include "monitorPanel.h" #include "uiCommunicationBus.h" -//#include "global.h" +#include "titleBar.h" MonitorConfigDlg::MonitorConfigDlg(QWidget *parent) : QDialog(parent) @@ -28,6 +28,10 @@ MonitorConfigDlg::~MonitorConfigDlg() void MonitorConfigDlg::initial() { + m_titleBar = new TitleBar(this); + m_titleBar->setTitle("参数设置"); + ui->verticalLayout->insertWidget(0,m_titleBar); + ui->treeView_item->setModel(_parent->getLstModel()); connect(ui->btn_ok,&QPushButton::clicked,this,&MonitorConfigDlg::onOkClicked); connect(ui->btn_cancel,&QPushButton::clicked,this,&MonitorConfigDlg::onCancelClicked); diff --git a/diagramCavas/source/monitorDetailAttributeDlg.cpp b/diagramCavas/source/monitorDetailAttributeDlg.cpp index 09dd15a..64d26f0 100644 --- a/diagramCavas/source/monitorDetailAttributeDlg.cpp +++ b/diagramCavas/source/monitorDetailAttributeDlg.cpp @@ -3,7 +3,7 @@ #include "monitorAttributeGroupDlg.h" #include "monitorPanel.h" #include "graphicsDataModel/fixedPortsModel.h" -//#include "global.h" +#include "titleBar.h" MonitorDetailAttributeDlg::MonitorDetailAttributeDlg(QWidget *parent) : QDialog(parent) @@ -24,6 +24,10 @@ MonitorDetailAttributeDlg::~MonitorDetailAttributeDlg() void MonitorDetailAttributeDlg::initial() { + m_titleBar = new TitleBar(this); + m_titleBar->setTitle("属性详细信息"); + ui->verticalLayout->insertWidget(0,m_titleBar); + _curColNum = 2; connect(ui->btn_exit,&QPushButton::clicked,this,&MonitorDetailAttributeDlg::onCloseClicked); connect(ui->cb_colNum,&QComboBox::currentTextChanged,this,&MonitorDetailAttributeDlg::onColChanged); diff --git a/diagramCavas/source/monitorDisplaySettingDlg.cpp b/diagramCavas/source/monitorDisplaySettingDlg.cpp index ca78ea5..eb5d8e1 100644 --- a/diagramCavas/source/monitorDisplaySettingDlg.cpp +++ b/diagramCavas/source/monitorDisplaySettingDlg.cpp @@ -7,6 +7,7 @@ #include #include "projectModelManager.h" #include "projectIconSelectionDlg.h" +#include "titleBar.h" MonitorDisplaySettingDlg::MonitorDisplaySettingDlg(QWidget *parent) : QDialog(parent) @@ -25,6 +26,10 @@ MonitorDisplaySettingDlg::~MonitorDisplaySettingDlg() void MonitorDisplaySettingDlg::initial() { + m_titleBar = new TitleBar(this); + m_titleBar->setTitle("图元状态设置"); + ui->verticalLayout_2->insertWidget(0,m_titleBar); + connect(ui->btn_save,&QPushButton::clicked,this,&MonitorDisplaySettingDlg::onSaveClicked); connect(ui->btn_cancel,&QPushButton::clicked,this,&MonitorDisplaySettingDlg::onCancelClicked); diff --git a/diagramCavas/source/projectDiagramNameInput.cpp b/diagramCavas/source/projectDiagramNameInput.cpp index 2ae4efb..e360931 100644 --- a/diagramCavas/source/projectDiagramNameInput.cpp +++ b/diagramCavas/source/projectDiagramNameInput.cpp @@ -2,6 +2,7 @@ #include "projectDiagramNameInput.h" #include "dataBase.h" #include "ui_projectDiagramNameInput.h" +#include "titleBar.h" ProjectDiagramNameInput::ProjectDiagramNameInput(QWidget *parent) : QDialog(parent) @@ -20,6 +21,10 @@ ProjectDiagramNameInput::~ProjectDiagramNameInput() void ProjectDiagramNameInput::initial() { + m_titleBar = new TitleBar(this); + m_titleBar->setTitle("组态名称设置"); + ui->verticalLayout->insertWidget(0,m_titleBar); + connect(ui->btn_ok,&QPushButton::clicked,this,&ProjectDiagramNameInput::onOkClicked); connect(ui->btn_cancel,&QPushButton::clicked,this,&ProjectDiagramNameInput::onCancelClicked); connect(ui->le_name,&QLineEdit::textEdited,this,&ProjectDiagramNameInput::onNameEdited); diff --git a/diagramCavas/source/projectIconSetting.cpp b/diagramCavas/source/projectIconSetting.cpp index b506e33..f99761b 100644 --- a/diagramCavas/source/projectIconSetting.cpp +++ b/diagramCavas/source/projectIconSetting.cpp @@ -7,7 +7,7 @@ #include "projectModelManager.h" #include #include -//#include "global.h" +#include "titleBar.h" ProjectIconSetting::ProjectIconSetting(QWidget *parent) : QDialog(parent) @@ -49,6 +49,10 @@ void ProjectIconSetting::showDlg(GraphicsProjectModelItem* pItem) void ProjectIconSetting::initial() { + m_titleBar = new TitleBar(this); + m_titleBar->setTitle("工程模图标选择"); + ui->verticalLayout->insertWidget(0,m_titleBar); + QStringList headerText; headerText<<"类别"<<"图标"; ui->tableWidget->setContextMenuPolicy(Qt::CustomContextMenu); diff --git a/diagramCavas/source/projectModelSetting.cpp b/diagramCavas/source/projectModelSetting.cpp index 437b28a..7e2d7a7 100644 --- a/diagramCavas/source/projectModelSetting.cpp +++ b/diagramCavas/source/projectModelSetting.cpp @@ -15,7 +15,7 @@ //#include "global.h" #include "logger.h" #include "dataBase.h" -#include "designerScene.h" +#include "titleBar.h" ProjectModelSetting::ProjectModelSetting(QWidget *parent) : QDialog(parent) @@ -35,6 +35,10 @@ ProjectModelSetting::~ProjectModelSetting() void ProjectModelSetting::initial() { + m_titleBar = new TitleBar(this); + m_titleBar->setTitle("工程模设置"); + ui->verticalLayout_2->insertWidget(0,m_titleBar); + connect(ui->btn_ok,&QPushButton::clicked,this,&ProjectModelSetting::onOkClicked); connect(ui->btn_cancel,&QPushButton::clicked,this,&ProjectModelSetting::onCancelClicked); //connect(ui->btn_saveAs,&QPushButton::clicked,this,&ProjectModelSetting::onSaveAsClicked); diff --git a/diagramCavas/source/structDataPreviewDlg.cpp b/diagramCavas/source/structDataPreviewDlg.cpp index ca13d86..a3cc075 100644 --- a/diagramCavas/source/structDataPreviewDlg.cpp +++ b/diagramCavas/source/structDataPreviewDlg.cpp @@ -53,7 +53,7 @@ void StructDataPreviewDlg::loadData() void StructDataPreviewDlg::initial() { // 创建标题栏 - m_titleBar = new TitleBar(this); + m_titleBar = new TitleBar(this,true,true); m_titleBar->setTitle("结构数据展示"); ui->mainLayout->insertWidget(0,m_titleBar); diff --git a/diagramCavas/source/titleBar.cpp b/diagramCavas/source/titleBar.cpp deleted file mode 100644 index 037ad56..0000000 --- a/diagramCavas/source/titleBar.cpp +++ /dev/null @@ -1,113 +0,0 @@ -#include "titleBar.h" -#include -#include -#include - - -TitleBar::TitleBar(QWidget *parent) - : QWidget(parent) - , m_parentWindow(parent) -{ - setupUI(); - setFixedHeight(35); // 稍微矮一点 - - setAttribute(Qt::WA_StyledBackground, true); // 启用样式背景 - setAttribute(Qt::WA_NoSystemBackground, false); - - // 确保有自己的调色板 - setAutoFillBackground(true); - - // 使用更具体的样式表 - QString style = R"( - QWidget { - background: #2c5282; - } - - QLabel { - color: white; - font-size: 12px; - background: transparent; - } - - QPushButton { - background: transparent; - border: none; - color: white; - min-width: 30px; - min-height: 30px; - } - )"; - - setStyleSheet(style); -} - -void TitleBar::setupUI() -{ - QHBoxLayout *layout = new QHBoxLayout(this); - layout->setContentsMargins(4, 0, 0, 0); - layout->setSpacing(0); - - // 标题 - m_titleLabel = new QLabel("窗口标题"); - m_titleLabel->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred); - - // 最大化/还原按钮 - m_maximizeButton = new QPushButton(tr("🗖")); // 最大化图标 - m_maximizeButton->setObjectName("maximizeButton"); - m_maximizeButton->setToolTip("最大化"); - - // 关闭按钮 - m_closeButton = new QPushButton("×"); - m_closeButton->setObjectName("closeButton"); - m_closeButton->setToolTip("关闭"); - - layout->addWidget(m_titleLabel); - layout->addWidget(m_maximizeButton); - layout->addWidget(m_closeButton); - - // 连接信号 - connect(m_maximizeButton, &QPushButton::clicked, this, &TitleBar::maximizeClicked); - connect(m_closeButton, &QPushButton::clicked, this, &TitleBar::closeClicked); -} - -void TitleBar::setTitle(const QString &title) -{ - m_titleLabel->setText(title); -} - -void TitleBar::updateMaximizeButton() -{ - if (m_parentWindow) { - m_isMaximized = m_parentWindow->isMaximized(); - if (m_isMaximized) { - m_maximizeButton->setText(tr("🗗")); // 还原图标 - m_maximizeButton->setToolTip("还原"); - } else { - m_maximizeButton->setText(tr("🗖")); // 最大化图标 - m_maximizeButton->setToolTip("最大化"); - } - } -} - -void TitleBar::mousePressEvent(QMouseEvent *event) -{ - if (event->button() == Qt::LeftButton) { - m_dragStartPosition = event->globalPosition().toPoint() - m_parentWindow->frameGeometry().topLeft(); - event->accept(); - } -} - -void TitleBar::mouseMoveEvent(QMouseEvent *event) -{ - if (event->buttons() & Qt::LeftButton) { - m_parentWindow->move(event->globalPosition().toPoint() - m_dragStartPosition); - event->accept(); - } -} - -void TitleBar::mouseDoubleClickEvent(QMouseEvent *event) -{ - if (event->button() == Qt::LeftButton) { - emit maximizeClicked(); - } -} diff --git a/diagramCavas/ui/bayManagerDlg.ui b/diagramCavas/ui/bayManagerDlg.ui index 88e9cb4..679863b 100644 --- a/diagramCavas/ui/bayManagerDlg.ui +++ b/diagramCavas/ui/bayManagerDlg.ui @@ -34,74 +34,6 @@ 0 - - - - - 0 - 21 - - - - - 16777215 - 25 - - - - QWidget { - background: #2c5282; - color: white; - border: none; -} - -QWidget QLabel { - color: white; - font-size: 12px; - background: transparent; -} - - - - 0 - - - 0 - - - 0 - - - - - - -1 - - - - - - - 间隔管理 - - - - - - - Qt::Orientation::Horizontal - - - - 803 - 10 - - - - - - - diff --git a/diagramCavas/ui/bayMeasureDlg.ui b/diagramCavas/ui/bayMeasureDlg.ui index d9511ca..33f80ac 100644 --- a/diagramCavas/ui/bayMeasureDlg.ui +++ b/diagramCavas/ui/bayMeasureDlg.ui @@ -34,66 +34,6 @@ 0 - - - - - 16777215 - 21 - - - - QWidget { - background: #2c5282; - color: white; - border: none; -} - -QWidget QLabel { - color: white; - font-size: 12px; - background: transparent; -} - - - - 0 - - - 6 - - - 0 - - - 0 - - - 0 - - - - - 间隔量测 - - - - - - - Qt::Orientation::Horizontal - - - - 762 - 18 - - - - - - - diff --git a/diagramCavas/ui/confirmEditorDlg.ui b/diagramCavas/ui/confirmEditorDlg.ui index 755dd13..46d72ef 100644 --- a/diagramCavas/ui/confirmEditorDlg.ui +++ b/diagramCavas/ui/confirmEditorDlg.ui @@ -26,7 +26,10 @@ color: rgb(0, 0, 0); font: 12pt "Microsoft YaHei UI"; - + + + 0 + 0 @@ -39,149 +42,106 @@ font: 12pt "Microsoft YaHei UI"; 0 - + - - - 16777215 - 25 - - - - QWidget { - background: #2c5282; - color: white; - border: none; -} - -QWidget QLabel { - color: white; - font-size: 12px; - background: transparent; -} - - - - 0 - - - 0 - - - - - - Microsoft YaHei UI - -1 - false - false - + + + + + Qt::Orientation::Vertical - - + + + 20 + 67 + - - 保存拓扑 - - + - - + + Qt::Orientation::Horizontal - 323 + 106 20 + + + + 20 + + + + + 用户签名: + + + + + + + true + + + + + + + + 120 + 0 + + + + + + + + + + + 归档时间: + + + + + + + + + Qt::Orientation::Horizontal + + + + 105 + 20 + + + + + + + + Qt::Orientation::Vertical + + + + 20 + 80 + + + + - - - - Qt::Orientation::Vertical - - - - 20 - 67 - - - - - - - - Qt::Orientation::Horizontal - - - - 106 - 20 - - - - - - - - 20 - - - - - 用户签名: - - - - - - - true - - - - - - - - 120 - 0 - - - - - - - - - - - 归档时间: - - - - - - - - - Qt::Orientation::Horizontal - - - - 105 - 20 - - - - - + @@ -272,19 +232,6 @@ QPushButton:disabled { - - - - Qt::Orientation::Vertical - - - - 20 - 75 - - - - diff --git a/diagramCavas/ui/dataSourceDlg.ui b/diagramCavas/ui/dataSourceDlg.ui index 0596afb..075ec10 100644 --- a/diagramCavas/ui/dataSourceDlg.ui +++ b/diagramCavas/ui/dataSourceDlg.ui @@ -13,7 +13,7 @@ Dialog - + 0 @@ -29,63 +29,6 @@ 0 - - - - - 16777215 - 25 - - - - QWidget { - background: #2c5282; - color: white; - border: none; -} - -QWidget QLabel { - color: white; - font-size: 12px; - background: transparent; -} - - - - 0 - - - 0 - - - 0 - - - 0 - - - - - 数据源选择 - - - - - - - Qt::Orientation::Horizontal - - - - 40 - 20 - - - - - - - diff --git a/diagramCavas/ui/diagramConnectSetting.ui b/diagramCavas/ui/diagramConnectSetting.ui index 83b39ef..06ee65f 100644 --- a/diagramCavas/ui/diagramConnectSetting.ui +++ b/diagramCavas/ui/diagramConnectSetting.ui @@ -34,60 +34,6 @@ 0 - - - - - 16777215 - 21 - - - - QWidget { - background: #2c5282; - color: white; - border: none; -} - -QWidget QLabel { - color: white; - font-size: 12px; - background: transparent; -} - - - - 0 - - - 0 - - - - - - - - 网络通信设置 - - - - - - - Qt::Orientation::Horizontal - - - - 302 - 18 - - - - - - - diff --git a/diagramCavas/ui/diagramEditorBayDetailAddDlg.ui b/diagramCavas/ui/diagramEditorBayDetailAddDlg.ui index 829eb2c..441aaa4 100644 --- a/diagramCavas/ui/diagramEditorBayDetailAddDlg.ui +++ b/diagramCavas/ui/diagramEditorBayDetailAddDlg.ui @@ -24,7 +24,7 @@ Dialog - + 0 @@ -44,71 +44,6 @@ 4 - - - - 16777215 - 25 - - - - QWidget { - background: #2c5282; - color: white; - border: none; -} - -QWidget QLabel { - color: white; - font-size: 12px; - background: transparent; -} - - - - 0 - - - 0 - - - 0 - - - 0 - - - - - - -1 - - - - - - - 新增线路 - - - - - - - Qt::Orientation::Horizontal - - - - 536 - 18 - - - - - - - - @@ -170,7 +105,88 @@ QWidget QLabel { - + + + + 间隔设备 + + + + 4 + + + 6 + + + 4 + + + 0 + + + + + + + + Qt::Orientation::Horizontal + + + + 186 + 20 + + + + + + + + QPushButton { + background-color: #5a79a1; /* 中性灰蓝,不刺眼 */ + color: white; + border: none; /* 无边框,扁平化 */ + border-radius: 4px; /* 小圆角,扁平感 */ + font-size: 13px; /* 适中字号 */ + font-weight: 500; /* 中等字重 */ +} + +QPushButton:hover { + background-color: #4a5d7e; /* 稍深的灰蓝 */ +} + +QPushButton:pressed { + background-color: #3d4e6b; /* 更深的灰蓝 */ +} + +QPushButton:disabled { + background-color: #a0b3d1; /* 灰调的浅蓝 */ + color: #d1dce9; /* 浅灰色文字 */ +} + + + + 添加到线路 + + + + + + + Qt::Orientation::Horizontal + + + + 186 + 20 + + + + + + + + 编辑设备 @@ -316,88 +332,7 @@ QPushButton:disabled { - - - - 间隔设备 - - - - 4 - - - 6 - - - 4 - - - 0 - - - - - - - - Qt::Orientation::Horizontal - - - - 186 - 20 - - - - - - - - QPushButton { - background-color: #5a79a1; /* 中性灰蓝,不刺眼 */ - color: white; - border: none; /* 无边框,扁平化 */ - border-radius: 4px; /* 小圆角,扁平感 */ - font-size: 13px; /* 适中字号 */ - font-weight: 500; /* 中等字重 */ -} - -QPushButton:hover { - background-color: #4a5d7e; /* 稍深的灰蓝 */ -} - -QPushButton:pressed { - background-color: #3d4e6b; /* 更深的灰蓝 */ -} - -QPushButton:disabled { - background-color: #a0b3d1; /* 灰调的浅蓝 */ - color: #d1dce9; /* 浅灰色文字 */ -} - - - - 添加到线路 - - - - - - - Qt::Orientation::Horizontal - - - - 186 - 20 - - - - - - - - + 线路设备列表 @@ -409,7 +344,7 @@ QPushButton:disabled { - + diff --git a/diagramCavas/ui/diagramEditorBayDetailSettingDlg.ui b/diagramCavas/ui/diagramEditorBayDetailSettingDlg.ui index 91a6084..f5c96c5 100644 --- a/diagramCavas/ui/diagramEditorBayDetailSettingDlg.ui +++ b/diagramCavas/ui/diagramEditorBayDetailSettingDlg.ui @@ -24,7 +24,7 @@ Dialog - + 0 @@ -37,99 +37,6 @@ 0 - - - - - 16777215 - 25 - - - - QWidget { - background: #2c5282; - color: white; - border: none; -} - -QWidget QLabel { - color: white; - font-size: 12px; - background: transparent; -} - - - - 0 - - - 0 - - - 0 - - - 0 - - - - - - -1 - - - - - - - 间隔详细设置 - - - - - - - Qt::Orientation::Horizontal - - - - 40 - 20 - - - - - - - - - -1 - - - - - - - - - - - - - - Qt::Orientation::Horizontal - - - - 40 - 20 - - - - - - - diff --git a/diagramCavas/ui/diagramEditorBaySettingDlg.ui b/diagramCavas/ui/diagramEditorBaySettingDlg.ui index d053125..4b0b932 100644 --- a/diagramCavas/ui/diagramEditorBaySettingDlg.ui +++ b/diagramCavas/ui/diagramEditorBaySettingDlg.ui @@ -40,68 +40,6 @@ 0 - - - - - 16777215 - 25 - - - - QWidget { - background: #2c5282; - color: white; - border: none; -} - -QWidget QLabel { - color: white; - font-size: 12px; - background: transparent; -} - - - - 0 - - - 0 - - - 0 - - - - - - -1 - - - - - - - 设置间隔 - - - - - - - Qt::Orientation::Horizontal - - - - 460 - 20 - - - - - - - diff --git a/diagramCavas/ui/diagramEditorTransDetailAddDlg.ui b/diagramCavas/ui/diagramEditorTransDetailAddDlg.ui index c5112c8..e144906 100644 --- a/diagramCavas/ui/diagramEditorTransDetailAddDlg.ui +++ b/diagramCavas/ui/diagramEditorTransDetailAddDlg.ui @@ -24,7 +24,7 @@ Dialog - + 0 @@ -43,28 +43,9 @@ 4 - - - - - 16777215 - 25 - - - - QWidget { - background: #2c5282; - color: white; - border: none; -} - -QWidget QLabel { - color: white; - font-size: 12px; - background: transparent; -} - - + + + 0 @@ -78,29 +59,169 @@ QWidget QLabel { 0 - - - - -1 - - - - - - - 新增线路 - - - - - + Qt::Orientation::Horizontal - 536 - 18 + 540 + 20 + + + + + + + + + 80 + 20 + + + + QPushButton { + background-color: #5a79a1; /* 中性灰蓝,不刺眼 */ + color: white; + border: none; /* 无边框,扁平化 */ + border-radius: 4px; /* 小圆角,扁平感 */ + font-size: 13px; /* 适中字号 */ + font-weight: 500; /* 中等字重 */ +} + +QPushButton:hover { + background-color: #4a5d7e; /* 稍深的灰蓝 */ +} + +QPushButton:pressed { + background-color: #3d4e6b; /* 更深的灰蓝 */ +} + +QPushButton:disabled { + background-color: #a0b3d1; /* 灰调的浅蓝 */ + color: #d1dce9; /* 浅灰色文字 */ +} + + + + 确定 + + + + + + + + 80 + 20 + + + + QPushButton { + background-color: #5a79a1; /* 中性灰蓝,不刺眼 */ + color: white; + border: none; /* 无边框,扁平化 */ + border-radius: 4px; /* 小圆角,扁平感 */ + font-size: 13px; /* 适中字号 */ + font-weight: 500; /* 中等字重 */ +} + +QPushButton:hover { + background-color: #4a5d7e; /* 稍深的灰蓝 */ +} + +QPushButton:pressed { + background-color: #3d4e6b; /* 更深的灰蓝 */ +} + +QPushButton:disabled { + background-color: #a0b3d1; /* 灰调的浅蓝 */ + color: #d1dce9; /* 浅灰色文字 */ +} + + + + 取消 + + + + + + + + + + 间隔设备 + + + + 4 + + + 6 + + + 4 + + + 0 + + + + + + + + Qt::Orientation::Horizontal + + + + 186 + 20 + + + + + + + + QPushButton { + background-color: #5a79a1; /* 中性灰蓝,不刺眼 */ + color: white; + border: none; /* 无边框,扁平化 */ + border-radius: 4px; /* 小圆角,扁平感 */ + font-size: 13px; /* 适中字号 */ + font-weight: 500; /* 中等字重 */ +} + +QPushButton:hover { + background-color: #4a5d7e; /* 稍深的灰蓝 */ +} + +QPushButton:pressed { + background-color: #3d4e6b; /* 更深的灰蓝 */ +} + +QPushButton:disabled { + background-color: #a0b3d1; /* 灰调的浅蓝 */ + color: #d1dce9; /* 浅灰色文字 */ +} + + + + 添加到线路 + + + + + + + Qt::Orientation::Horizontal + + + + 186 + 20 @@ -108,7 +229,19 @@ QWidget QLabel { - + + + + 线路设备列表 + + + + + + + + + @@ -170,7 +303,7 @@ QWidget QLabel { - + 编辑设备 @@ -316,204 +449,6 @@ QPushButton:disabled { - - - - 间隔设备 - - - - 4 - - - 6 - - - 4 - - - 0 - - - - - - - - Qt::Orientation::Horizontal - - - - 186 - 20 - - - - - - - - QPushButton { - background-color: #5a79a1; /* 中性灰蓝,不刺眼 */ - color: white; - border: none; /* 无边框,扁平化 */ - border-radius: 4px; /* 小圆角,扁平感 */ - font-size: 13px; /* 适中字号 */ - font-weight: 500; /* 中等字重 */ -} - -QPushButton:hover { - background-color: #4a5d7e; /* 稍深的灰蓝 */ -} - -QPushButton:pressed { - background-color: #3d4e6b; /* 更深的灰蓝 */ -} - -QPushButton:disabled { - background-color: #a0b3d1; /* 灰调的浅蓝 */ - color: #d1dce9; /* 浅灰色文字 */ -} - - - - 添加到线路 - - - - - - - Qt::Orientation::Horizontal - - - - 186 - 20 - - - - - - - - - - - 线路设备列表 - - - - - - - - - - - - - 0 - - - 0 - - - 0 - - - 0 - - - - - Qt::Orientation::Horizontal - - - - 540 - 20 - - - - - - - - - 80 - 20 - - - - QPushButton { - background-color: #5a79a1; /* 中性灰蓝,不刺眼 */ - color: white; - border: none; /* 无边框,扁平化 */ - border-radius: 4px; /* 小圆角,扁平感 */ - font-size: 13px; /* 适中字号 */ - font-weight: 500; /* 中等字重 */ -} - -QPushButton:hover { - background-color: #4a5d7e; /* 稍深的灰蓝 */ -} - -QPushButton:pressed { - background-color: #3d4e6b; /* 更深的灰蓝 */ -} - -QPushButton:disabled { - background-color: #a0b3d1; /* 灰调的浅蓝 */ - color: #d1dce9; /* 浅灰色文字 */ -} - - - - 确定 - - - - - - - - 80 - 20 - - - - QPushButton { - background-color: #5a79a1; /* 中性灰蓝,不刺眼 */ - color: white; - border: none; /* 无边框,扁平化 */ - border-radius: 4px; /* 小圆角,扁平感 */ - font-size: 13px; /* 适中字号 */ - font-weight: 500; /* 中等字重 */ -} - -QPushButton:hover { - background-color: #4a5d7e; /* 稍深的灰蓝 */ -} - -QPushButton:pressed { - background-color: #3d4e6b; /* 更深的灰蓝 */ -} - -QPushButton:disabled { - background-color: #a0b3d1; /* 灰调的浅蓝 */ - color: #d1dce9; /* 浅灰色文字 */ -} - - - - 取消 - - - - - - diff --git a/diagramCavas/ui/diagramEditorTransDetailSettingDlg.ui b/diagramCavas/ui/diagramEditorTransDetailSettingDlg.ui index 3f9c872..ad1507b 100644 --- a/diagramCavas/ui/diagramEditorTransDetailSettingDlg.ui +++ b/diagramCavas/ui/diagramEditorTransDetailSettingDlg.ui @@ -24,7 +24,7 @@ Dialog - + 0 @@ -37,99 +37,6 @@ 0 - - - - - 16777215 - 25 - - - - QWidget { - background: #2c5282; - color: white; - border: none; -} - -QWidget QLabel { - color: white; - font-size: 12px; - background: transparent; -} - - - - 0 - - - 0 - - - 0 - - - 0 - - - - - - -1 - - - - - - - 变压器详细设置 - - - - - - - Qt::Orientation::Horizontal - - - - 530 - 20 - - - - - - - - - -1 - - - - - - - - - - - - - - Qt::Orientation::Horizontal - - - - 530 - 20 - - - - - - - diff --git a/diagramCavas/ui/diagramEditorTransSettingDlg.ui b/diagramCavas/ui/diagramEditorTransSettingDlg.ui index d43c673..c7d2b39 100644 --- a/diagramCavas/ui/diagramEditorTransSettingDlg.ui +++ b/diagramCavas/ui/diagramEditorTransSettingDlg.ui @@ -40,68 +40,6 @@ 0 - - - - - 16777215 - 25 - - - - QWidget { - background: #2c5282; - color: white; - border: none; -} - -QWidget QLabel { - color: white; - font-size: 12px; - background: transparent; -} - - - - 0 - - - 0 - - - 0 - - - - - - -1 - - - - - - - 设置变压器 - - - - - - - Qt::Orientation::Horizontal - - - - 460 - 20 - - - - - - - diff --git a/diagramCavas/ui/diagramEditorWizard.ui b/diagramCavas/ui/diagramEditorWizard.ui index c7b58bc..f8f6856 100644 --- a/diagramCavas/ui/diagramEditorWizard.ui +++ b/diagramCavas/ui/diagramEditorWizard.ui @@ -24,133 +24,20 @@ Dialog - - - - - - 80 - 22 - - - - 0 - - - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - - - - 80 - 20 - - - - QPushButton { - background-color: #5a79a1; /* 中性灰蓝,不刺眼 */ - color: white; - border: none; /* 无边框,扁平化 */ - border-radius: 4px; /* 小圆角,扁平感 */ - font-size: 13px; /* 适中字号 */ - font-weight: 500; /* 中等字重 */ -} - -QPushButton:hover { - background-color: #4a5d7e; /* 稍深的灰蓝 */ -} - -QPushButton:pressed { - background-color: #3d4e6b; /* 更深的灰蓝 */ -} - -QPushButton:disabled { - background-color: #a0b3d1; /* 灰调的浅蓝 */ - color: #d1dce9; /* 浅灰色文字 */ -} - - - - 下一步 - - - - - - - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - - - - 80 - 20 - - - - QPushButton { - background-color: #5a79a1; /* 中性灰蓝,不刺眼 */ - color: white; - border: none; /* 无边框,扁平化 */ - border-radius: 4px; /* 小圆角,扁平感 */ - font-size: 13px; /* 适中字号 */ - font-weight: 500; /* 中等字重 */ -} - -QPushButton:hover { - background-color: #4a5d7e; /* 稍深的灰蓝 */ -} - -QPushButton:pressed { - background-color: #3d4e6b; /* 更深的灰蓝 */ -} - -QPushButton:disabled { - background-color: #a0b3d1; /* 灰调的浅蓝 */ - color: #d1dce9; /* 浅灰色文字 */ -} - - - - 完成 - - - - - - - - + + + 0 + + + 0 + + + 0 + + + 0 + + QTabWidget::pane { @@ -489,16 +376,78 @@ QPushButton:disabled { - - - - - 80 - 20 - - - - QPushButton { + + + + + + Qt::Orientation::Horizontal + + + + 136 + 17 + + + + + + + + + 80 + 22 + + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + + 80 + 20 + + + + QPushButton { background-color: #5a79a1; /* 中性灰蓝,不刺眼 */ color: white; border: none; /* 无边框,扁平化 */ @@ -520,82 +469,54 @@ QPushButton:disabled { color: #d1dce9; /* 浅灰色文字 */ } - - - 取消 - - - - - - - Qt::Orientation::Horizontal - - - - 139 - 20 - - - - - - - - - 80 - 22 - - - - 0 - - - - + + + 上一步 + + + + + + + + + + + + 80 + 22 + + + 0 - - 0 - - - 0 - - - 0 - - - 0 - - - - - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - - - - 80 - 20 - + + + + 0 - - QPushButton { + + 0 + + + 0 + + + 0 + + + 0 + + + + + + 80 + 20 + + + + QPushButton { background-color: #5a79a1; /* 中性灰蓝,不刺眼 */ color: white; border: none; /* 无边框,扁平化 */ @@ -617,15 +538,110 @@ QPushButton:disabled { color: #d1dce9; /* 浅灰色文字 */ } + + + 下一步 + + + + + + + + + 0 - - 上一步 + + 0 - - - - - + + 0 + + + 0 + + + 0 + + + + + + 80 + 20 + + + + QPushButton { + background-color: #5a79a1; /* 中性灰蓝,不刺眼 */ + color: white; + border: none; /* 无边框,扁平化 */ + border-radius: 4px; /* 小圆角,扁平感 */ + font-size: 13px; /* 适中字号 */ + font-weight: 500; /* 中等字重 */ +} + +QPushButton:hover { + background-color: #4a5d7e; /* 稍深的灰蓝 */ +} + +QPushButton:pressed { + background-color: #3d4e6b; /* 更深的灰蓝 */ +} + +QPushButton:disabled { + background-color: #a0b3d1; /* 灰调的浅蓝 */ + color: #d1dce9; /* 浅灰色文字 */ +} + + + + 完成 + + + + + + + + + + + + 80 + 20 + + + + QPushButton { + background-color: #5a79a1; /* 中性灰蓝,不刺眼 */ + color: white; + border: none; /* 无边框,扁平化 */ + border-radius: 4px; /* 小圆角,扁平感 */ + font-size: 13px; /* 适中字号 */ + font-weight: 500; /* 中等字重 */ +} + +QPushButton:hover { + background-color: #4a5d7e; /* 稍深的灰蓝 */ +} + +QPushButton:pressed { + background-color: #3d4e6b; /* 更深的灰蓝 */ +} + +QPushButton:disabled { + background-color: #a0b3d1; /* 灰调的浅蓝 */ + color: #d1dce9; /* 浅灰色文字 */ +} + + + + 取消 + + + + diff --git a/diagramCavas/ui/itemPropertyDlg.ui b/diagramCavas/ui/itemPropertyDlg.ui index ea5f1b9..98a7262 100644 --- a/diagramCavas/ui/itemPropertyDlg.ui +++ b/diagramCavas/ui/itemPropertyDlg.ui @@ -29,35 +29,6 @@ 0 - - - - - 0 - 20 - - - - - 16777215 - 20 - - - - QWidget { - background: #2c5282; - color: white; - border: none; -} - -QWidget QLabel { - color: white; - font-size: 12px; - background: transparent; -} - - - diff --git a/diagramCavas/ui/loadMonitorPageDlg.ui b/diagramCavas/ui/loadMonitorPageDlg.ui index 98941b7..de0af93 100644 --- a/diagramCavas/ui/loadMonitorPageDlg.ui +++ b/diagramCavas/ui/loadMonitorPageDlg.ui @@ -34,60 +34,6 @@ 0 - - - - - 16777215 - 21 - - - - QWidget { - background: #2c5282; - color: white; - border: none; -} - -QWidget QLabel { - color: white; - font-size: 12px; - background: transparent; -} - - - - 0 - - - 0 - - - - - - - - 载入运行时 - - - - - - - Qt::Orientation::Horizontal - - - - 103 - 18 - - - - - - - diff --git a/diagramCavas/ui/measureSettingDlg.ui b/diagramCavas/ui/measureSettingDlg.ui index 3b5c263..1e0084b 100644 --- a/diagramCavas/ui/measureSettingDlg.ui +++ b/diagramCavas/ui/measureSettingDlg.ui @@ -34,71 +34,6 @@ 0 - - - - - 0 - 25 - - - - - 16777215 - 25 - - - - QWidget { - background: #2c5282; - color: white; - border: none; -} - -QWidget QLabel { - color: white; - font-size: 12px; - background: transparent; -} - - - - 0 - - - 0 - - - - - - -1 - - - - - - - 量测设置 - - - - - - - Qt::Orientation::Horizontal - - - - 314 - 20 - - - - - - - diff --git a/diagramCavas/ui/monitorConfigDlg.ui b/diagramCavas/ui/monitorConfigDlg.ui index ed084f6..f0a0503 100644 --- a/diagramCavas/ui/monitorConfigDlg.ui +++ b/diagramCavas/ui/monitorConfigDlg.ui @@ -34,75 +34,6 @@ 0 - - - - - 0 - 21 - - - - - 16777215 - 21 - - - - QWidget { - background: #2c5282; - color: white; - border: none; -} - -QWidget QLabel { - color: white; - font-size: 12px; - background: transparent; -} - - - - 0 - - - 6 - - - 0 - - - 0 - - - 0 - - - - - - - - 参数配置 - - - - - - - Qt::Orientation::Horizontal - - - - 584 - 18 - - - - - - - diff --git a/diagramCavas/ui/monitorDetailAttributeDlg.ui b/diagramCavas/ui/monitorDetailAttributeDlg.ui index e52c36a..cef8875 100644 --- a/diagramCavas/ui/monitorDetailAttributeDlg.ui +++ b/diagramCavas/ui/monitorDetailAttributeDlg.ui @@ -34,63 +34,6 @@ 0 - - - - - 16777215 - 21 - - - - QWidget { - background: #2c5282; - color: white; - border: none; -} - -QWidget QLabel { - color: white; - font-size: 12px; - background: transparent; -} - - - - 0 - - - 0 - - - 0 - - - - - - - - 属性详细信息 - - - - - - - Qt::Orientation::Horizontal - - - - 709 - 18 - - - - - - - @@ -198,7 +141,7 @@ QPushButton:disabled { 0 0 794 - 497 + 515 diff --git a/diagramCavas/ui/monitorDisplaySettingDlg.ui b/diagramCavas/ui/monitorDisplaySettingDlg.ui index a8fb92c..d21f514 100644 --- a/diagramCavas/ui/monitorDisplaySettingDlg.ui +++ b/diagramCavas/ui/monitorDisplaySettingDlg.ui @@ -34,75 +34,6 @@ 0 - - - - - 0 - 21 - - - - - 16777215 - 21 - - - - QWidget { - background: #2c5282; - color: white; - border: none; -} - -QWidget QLabel { - color: white; - font-size: 12px; - background: transparent; -} - - - - 0 - - - 6 - - - 0 - - - 0 - - - 0 - - - - - - - - 图元状态配置 - - - - - - - Qt::Orientation::Horizontal - - - - 584 - 18 - - - - - - - diff --git a/include/createEditor.h b/include/createEditor.h index 7f86f3d..293d83a 100644 --- a/include/createEditor.h +++ b/include/createEditor.h @@ -7,6 +7,8 @@ QT_BEGIN_NAMESPACE namespace Ui { class createEditor; } QT_END_NAMESPACE +class TitleBar; + class CreateEditor : public QDialog { Q_OBJECT @@ -22,6 +24,7 @@ public slots: void onCancelClicked(); private: Ui::createEditor *ui; + TitleBar* m_titleBar; }; #endif diff --git a/include/loadPageDlg.h b/include/loadPageDlg.h index 4894b4a..53af85c 100644 --- a/include/loadPageDlg.h +++ b/include/loadPageDlg.h @@ -8,6 +8,8 @@ QT_BEGIN_NAMESPACE namespace Ui { class loadPageDlg; } QT_END_NAMESPACE +class TitleBar; + class LoadPageDlg : public QDialog { Q_OBJECT @@ -29,6 +31,7 @@ private: Ui::loadPageDlg *ui; QStandardItemModel* m_standardItemModel; QString _pageName; + TitleBar* m_titleBar; }; #endif diff --git a/include/mainwindow.h b/include/mainwindow.h index e9c1c44..0d80760 100644 --- a/include/mainwindow.h +++ b/include/mainwindow.h @@ -71,10 +71,6 @@ private: Ui::CMainWindow *ui; - //ads::CDockManager* DockManager; - //ads::CDockAreaWidget* StatusDockArea; - //ads::CDockWidget* TimelineDockWidget; - DiagramCavas* m_pDiagramCavas; DrawingPanel* m_pDrawingPanel; ElectricElementsBox* m_pElectricElementsBox; diff --git a/include/projectModelDlg.h b/include/projectModelDlg.h index e1ed94e..09c8778 100644 --- a/include/projectModelDlg.h +++ b/include/projectModelDlg.h @@ -14,6 +14,7 @@ QT_BEGIN_NAMESPACE namespace Ui { class projectModelDlg; } QT_END_NAMESPACE +class TitleBar; class projectModelDlg : public QDialog { @@ -62,6 +63,7 @@ private: int _curRow; //当前操作行 BiDirectionalMap _mapType; //类型名映射表 + TitleBar* m_titleBar; }; #endif diff --git a/source/createEditor.cpp b/source/createEditor.cpp index bfdd568..30f6af0 100644 --- a/source/createEditor.cpp +++ b/source/createEditor.cpp @@ -3,6 +3,7 @@ #include "createEditor.h" #include "projectManager.h" #include "ui_createEditor.h" +#include "titleBar.h" CreateEditor::CreateEditor(QWidget *parent) : QDialog(parent) @@ -20,6 +21,10 @@ CreateEditor::~CreateEditor() void CreateEditor::initial() { + m_titleBar = new TitleBar(this); + m_titleBar->setTitle("新建"); + ui->verticalLayout->insertWidget(0,m_titleBar); + connect(ui->btn_ok,&QPushButton::clicked,this,&CreateEditor::onOkClicked); connect(ui->btn_cancel,&QPushButton::clicked,this,&CreateEditor::onCancelClicked); } diff --git a/source/loadPageDlg.cpp b/source/loadPageDlg.cpp index eafc2e0..bf10d3a 100644 --- a/source/loadPageDlg.cpp +++ b/source/loadPageDlg.cpp @@ -1,6 +1,7 @@ #include "loadPageDlg.h" #include "dataBase.h" #include "ui_loadPageDlg.h" +#include "titleBar.h" LoadPageDlg::LoadPageDlg(QWidget *parent) : QDialog(parent) @@ -18,6 +19,10 @@ LoadPageDlg::~LoadPageDlg() void LoadPageDlg::initial() { + m_titleBar = new TitleBar(this); + m_titleBar->setTitle("加载"); + ui->verticalLayout->insertWidget(0,m_titleBar); + connect(ui->btnOk,&QPushButton::clicked,this,&LoadPageDlg::onOkClicked); connect(ui->btnCancel,&QPushButton::clicked,this,&LoadPageDlg::onCancelClicked); diff --git a/source/mainwindow.cpp b/source/mainwindow.cpp index 9a64ec8..c15ce83 100644 --- a/source/mainwindow.cpp +++ b/source/mainwindow.cpp @@ -13,6 +13,7 @@ #include #include #include +#include #include "diagramCavas.h" #include "graphicElementsPanel.h" @@ -58,8 +59,8 @@ CMainWindow::CMainWindow(QWidget *parent) CMainWindow::~CMainWindow() { delete ui; - if(m_pElectricElementsBox) - delete m_pElectricElementsBox; + //if(m_pElectricElementsBox) + //delete m_pElectricElementsBox; if(m_pPropertiesEditorView){ auto pView = m_pPropertiesEditorView->getQuickDetailsView(); delete pView; @@ -73,6 +74,9 @@ void CMainWindow::closeEvent(QCloseEvent* event) // Delete dock manager here to delete all floating widgets. This ensures // that all top level windows of the dock manager are properly closed QMainWindow::closeEvent(event); + QTimer::singleShot(500, this, [this]() { //临时处理 + ::exit(0); + }); } void CMainWindow::changeEvent(QEvent* event) @@ -89,7 +93,7 @@ void CMainWindow::moveEvent(QMoveEvent *event) void CMainWindow::initializeDockUi() { - m_pElectricElementsBox = new ElectricElementsBox(); + //m_pElectricElementsBox = new ElectricElementsBox(); /*m_pElectricElementsBox->initial(); QWidget* pBox = m_pElectricElementsBox->getToolBox(); QDockWidget* ElectricElementsDock = new QDockWidget(QString::fromWCharArray(L"图元面板"),this); @@ -132,12 +136,13 @@ void CMainWindow::initializeDockUi() m_pDiagramCavas = new DiagramCavas(this); m_pDiagramCavas->initial(); this->setCentralWidget(m_pDiagramCavas); - connect(m_pElectricElementsBox,&ElectricElementsBox::addEletricItem,m_pDiagramCavas,&DiagramCavas::onSignal_addGraphicsItem); + //connect(m_pElectricElementsBox,&ElectricElementsBox::addEletricItem,m_pDiagramCavas,&DiagramCavas::onSignal_addGraphicsItem); m_pProjectModelDlg = new projectModelDlg(this); - connect(&ProjectModelManager::instance(),&ProjectModelManager::modelChange,m_pElectricElementsBox,&ElectricElementsBox::onSignal_modelChanged); + //connect(&ProjectModelManager::instance(),&ProjectModelManager::modelChange,m_pElectricElementsBox,&ElectricElementsBox::onSignal_modelChanged); m_pPropertiesEditorView = new QDetailsView(); + m_pPropertiesEditorView->setAttribute(Qt::WA_DeleteOnClose); m_pPropertyEditorDock = new BaseDockWidget(QString::fromWCharArray(L"属性面板"),this); m_pPropertyEditorDock->setWidget(m_pPropertiesEditorView); m_pPropertyEditorDock->setMinimumSize(350,150); diff --git a/source/projectModelDlg.cpp b/source/projectModelDlg.cpp index 0176bb6..a71d5ff 100644 --- a/source/projectModelDlg.cpp +++ b/source/projectModelDlg.cpp @@ -8,6 +8,7 @@ //#include "global.h" #include "projectTableDelegate.h" #include "projectModelManager.h" +#include "titleBar.h" projectModelDlg::projectModelDlg(QWidget *parent) : QDialog(parent) @@ -29,6 +30,10 @@ projectModelDlg::~projectModelDlg() void projectModelDlg::initial() { + m_titleBar = new TitleBar(this); + m_titleBar->setTitle("工程模设置"); + ui->verticalLayout_2->insertWidget(0,m_titleBar); + connect(ui->btn_save,&QPushButton::clicked,this,&projectModelDlg::onSaveClicked); connect(ui->btn_cancel,&QPushButton::clicked,this,&projectModelDlg::onCancelClicked); connect(ui->btn_apply,&QPushButton::clicked,this,&projectModelDlg::onApplyClicked); diff --git a/ui/createEditor.ui b/ui/createEditor.ui index 21cae44..0a1ec1d 100644 --- a/ui/createEditor.ui +++ b/ui/createEditor.ui @@ -31,71 +31,6 @@ 0 - - - - - 16777215 - 21 - - - - QWidget { - background: #2c5282; - color: white; - border: none; -} - -QLabel { - color: white; - font-size: 12px; - background: transparent; -} - - - - 8 - - - 0 - - - 0 - - - 0 - - - - - - -1 - - - - - - - 新建 - - - - - - - Qt::Orientation::Horizontal - - - - 176 - 18 - - - - - - - diff --git a/ui/loadPageDlg.ui b/ui/loadPageDlg.ui index d819d72..c9f3473 100644 --- a/ui/loadPageDlg.ui +++ b/ui/loadPageDlg.ui @@ -16,7 +16,7 @@ - + 0 @@ -29,74 +29,11 @@ 0 - - 0 - - - - - - 0 - 21 - - - - QWidget { - background: #2c5282; - color: white; - border: none; -} - -QWidget QLabel { - color: white; - font-size: 12px; - background: transparent; -} - - - - 0 - - - 10 - - - 0 - - - 0 - - - 0 - - - - - 加载 - - - - - - - Qt::Orientation::Horizontal - - - - 40 - 20 - - - - - - + + - + - - 20 - @@ -105,6 +42,12 @@ QWidget QLabel { 20 + + + 80 + 16777215 + + QPushButton { background-color: #5a79a1; /* 中性灰蓝,不刺眼 */ @@ -142,6 +85,12 @@ QPushButton:disabled { 20 + + + 80 + 16777215 + + QPushButton { background-color: #5a79a1; /* 中性灰蓝,不刺眼 */ @@ -173,9 +122,6 @@ QPushButton:disabled { - - -