update title bar

This commit is contained in:
baiYue 2026-05-18 19:12:28 +08:00
parent 803a4bde6c
commit bb768f474d
86 changed files with 1035 additions and 1976 deletions

View File

@ -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

View File

@ -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;

View File

@ -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

140
common/source/titleBar.cpp Normal file
View File

@ -0,0 +1,140 @@
#include "titleBar.h"
#include <QStyle>
#include <QScreen>
#include <QGuiApplication>
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();
}
}

View File

@ -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

View File

@ -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<int,BayManagerContentDlg*> _contentData; //<stack index,bay page>
TitleBar* m_titleBar;
};
#endif

View File

@ -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<MeasureAttributeType> _validType; //可用的属性列表
QMap<QString,MeasurementInfo> _mapMeasure; //量测列表
TitleBar* m_titleBar;
};
#endif

View File

@ -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

View File

@ -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

View File

@ -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<DiagramEditorModel> _pModel;
TitleBar* m_titleBar;
};
#endif

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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<QString> _prepareDisconnectBlock; //准备断开的连接间隔
TitleBar* m_titleBar;
};
#endif

View File

@ -15,6 +15,7 @@ class DiagramEditorStructContainer;
class QListWidgetItem;
class DiagramEditorBaySettingDlg;
class DiagramEditorTransSettingDlg;
class TitleBar;
class DiagramEditorWizard : public QDialog
{
@ -86,6 +87,7 @@ private:
QMap<int,DiagramEditorWizardBusInfo> _mapBus; //母线信息
QMap<int,QList<DiagramEditorStructContainer*>> _mapSturctContainer; //划分后的区块
QMap<QUuid,DiagramEditorBriefConnect> _mapConnect; //连接列表
TitleBar* m_titleBar;
};
#endif

View File

@ -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<DiagramEditorStructContainer*> containers;
};
explicit FixedLayoutCalculator(DiagramEditorWizard* wizard);
explicit FixedLayoutCalculator(DiagramEditorModel* model);
QMap<DiagramEditorBaseBlock*, QPointF> calculateLayout();
@ -40,7 +40,7 @@ private:
double& deltaY, double& lastMaxDownH);
private:
DiagramEditorWizard* m_wizard = nullptr;
DiagramEditorModel* m_model = nullptr;
QMap<DiagramEditorBaseBlock*, QPointF> m_blockPositions;
// 全局常量

View File

@ -42,6 +42,7 @@ public:
void setPanel(EditPanel* p) {_pPanel = p;}
EditPanel* getPanel(){return _pPanel;}
void setWizard(QPointer<DiagramEditorWizard> p){_pWizard = p;}
QPointer<DiagramEditorWizard> getWizard(){return _pWizard;}
QMap<QUuid,GraphicsBaseModelItem*> getPreviewItem(){return _previewItem;};
void clearItems();

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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<QString,MonitorAttributeGroupDlg*> _curGroups;
MonitorPanel* _pParent;
QUuid _curId;
TitleBar* m_titleBar;
};
#endif

View File

@ -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<MonitorItemTypeStruct,QMap<MonitorItemStateStruct,MonitorItemDisplayInfo>> _tempSetting;
TitleBar* m_titleBar;
};
#endif

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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);

View File

@ -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);

View File

@ -6,7 +6,7 @@
#include "extraPropertyManager.h"
#include "propertyType/dataSourceType.h"
#include <QTimer>
//#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);

View File

@ -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);

View File

@ -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);

View File

@ -1,6 +1,7 @@
#include "ui_confirmEditorDlg.h"
#include "diagramEditor/confirmEditorDlg.h"
#include <QDateTime>
#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);
}

View File

@ -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);

View File

@ -11,6 +11,7 @@
#include "diagramEditor/editPanel.h"
#include "topologyManager.h"
#include <QTimer>
#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();
}

View File

@ -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);

View File

@ -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;
}

View File

@ -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();
}

View File

@ -7,6 +7,7 @@
#include "diagramEditor/wizardBayContentDlg.h"
#include "common/core_model/constants.h"
#include <QTimer>
#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);

View File

@ -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);

View File

@ -249,7 +249,7 @@ QList<EditBaseItem*> EditPanel::getBlockItems(EditorItemType typ)
{
QList<EditBaseItem*> lst;
auto allItems = m_pEditScene->items();
for(auto item:allItems){
for(auto &item:allItems){
auto p = dynamic_cast<EditBaseItem*>(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<EditBaseItem*>(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<EditBaseItem*>(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<ContainerDataPtr>& 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);

View File

@ -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 <QDebug>
FixedLayoutCalculator::FixedLayoutCalculator(DiagramEditorWizard* wizard)
: m_wizard(wizard) {}
FixedLayoutCalculator::FixedLayoutCalculator(DiagramEditorModel* model)
: m_model(model) {}
QMap<DiagramEditorBaseBlock*, QPointF> 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<DiagramEditorStructContainer*>& transformers,
double& deltaY, double& lastMaxDownH) {
if (transformers.isEmpty()) return;
void FixedLayoutCalculator::calculateTransformerPositions(
const QList<DiagramEditorStructContainer*>& 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;
}
}

View File

@ -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;
}

View File

@ -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());

View File

@ -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();

View File

@ -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);

View File

@ -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);

View File

@ -4,6 +4,7 @@
#include "common/core_model/diagram.h"
#include "tools.h"
#include <QUuid>
#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);

View File

@ -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);

View File

@ -5,7 +5,7 @@
#include <QKeyEvent>
#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);

View File

@ -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);

View File

@ -7,6 +7,7 @@
#include <QMessageBox>
#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);

View File

@ -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);

View File

@ -7,7 +7,7 @@
#include "projectModelManager.h"
#include <QSvgRenderer>
#include <QPainter>
//#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);

View File

@ -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);

View File

@ -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);

View File

@ -1,113 +0,0 @@
#include "titleBar.h"
#include <QStyle>
#include <QScreen>
#include <QGuiApplication>
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();
}
}

View File

@ -34,74 +34,6 @@
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QWidget" name="widget" native="true">
<property name="minimumSize">
<size>
<width>0</width>
<height>21</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>25</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">QWidget {
background: #2c5282;
color: white;
border: none;
}
QWidget QLabel {
color: white;
font-size: 12px;
background: transparent;
}</string>
</property>
<layout class="QHBoxLayout" name="horizontalLayout">
<property name="spacing">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QLabel" name="label">
<property name="font">
<font>
<pointsize>-1</pointsize>
</font>
</property>
<property name="styleSheet">
<string notr="true"/>
</property>
<property name="text">
<string>间隔管理</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Orientation::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>803</width>
<height>10</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QWidget" name="widget_3" native="true">
<layout class="QGridLayout" name="gridLayout" columnstretch="1,3">

View File

@ -34,66 +34,6 @@
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QWidget" name="widget_2" native="true">
<property name="maximumSize">
<size>
<width>16777215</width>
<height>21</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">QWidget {
background: #2c5282;
color: white;
border: none;
}
QWidget QLabel {
color: white;
font-size: 12px;
background: transparent;
}</string>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_4">
<property name="spacing">
<number>0</number>
</property>
<property name="leftMargin">
<number>6</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QLabel" name="label_20">
<property name="text">
<string>间隔量测</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_2">
<property name="orientation">
<enum>Qt::Orientation::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>762</width>
<height>18</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QWidget" name="widget" native="true">
<layout class="QGridLayout" name="gridLayout_2">

View File

@ -26,7 +26,10 @@
color: rgb(0, 0, 0);
font: 12pt &quot;Microsoft YaHei UI&quot;;</string>
</property>
<layout class="QGridLayout" name="gridLayout_2">
<layout class="QVBoxLayout" name="verticalLayout">
<property name="spacing">
<number>0</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
@ -39,149 +42,106 @@ font: 12pt &quot;Microsoft YaHei UI&quot;;</string>
<property name="bottomMargin">
<number>0</number>
</property>
<item row="0" column="0" colspan="4">
<item>
<widget class="QWidget" name="widget" native="true">
<property name="maximumSize">
<size>
<width>16777215</width>
<height>25</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">QWidget {
background: #2c5282;
color: white;
border: none;
}
QWidget QLabel {
color: white;
font-size: 12px;
background: transparent;
}</string>
</property>
<layout class="QHBoxLayout" name="horizontalLayout">
<property name="topMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QLabel" name="label">
<property name="font">
<font>
<family>Microsoft YaHei UI</family>
<pointsize>-1</pointsize>
<italic>false</italic>
<bold>false</bold>
</font>
<layout class="QGridLayout" name="gridLayout_2">
<item row="0" column="2">
<spacer name="verticalSpacer_2">
<property name="orientation">
<enum>Qt::Orientation::Vertical</enum>
</property>
<property name="styleSheet">
<string notr="true"/>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>67</height>
</size>
</property>
<property name="text">
<string>保存拓扑</string>
</property>
</widget>
</spacer>
</item>
<item>
<spacer name="horizontalSpacer">
<item row="1" column="0">
<spacer name="horizontalSpacer_3">
<property name="orientation">
<enum>Qt::Orientation::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>323</width>
<width>106</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="1" column="1" colspan="2">
<layout class="QGridLayout" name="gridLayout">
<property name="verticalSpacing">
<number>20</number>
</property>
<item row="0" column="0">
<widget class="QLabel" name="label_2">
<property name="text">
<string>用户签名:</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLineEdit" name="le_time">
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLineEdit" name="le_name">
<property name="minimumSize">
<size>
<width>120</width>
<height>0</height>
</size>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_3">
<property name="text">
<string>归档时间:</string>
</property>
</widget>
</item>
</layout>
</item>
<item row="1" column="3">
<spacer name="horizontalSpacer_4">
<property name="orientation">
<enum>Qt::Orientation::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>105</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="2" column="1">
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Orientation::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>80</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
<item row="1" column="2">
<spacer name="verticalSpacer_2">
<property name="orientation">
<enum>Qt::Orientation::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>67</height>
</size>
</property>
</spacer>
</item>
<item row="2" column="0">
<spacer name="horizontalSpacer_3">
<property name="orientation">
<enum>Qt::Orientation::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>106</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="2" column="1" colspan="2">
<layout class="QGridLayout" name="gridLayout">
<property name="verticalSpacing">
<number>20</number>
</property>
<item row="0" column="0">
<widget class="QLabel" name="label_2">
<property name="text">
<string>用户签名:</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLineEdit" name="le_time">
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLineEdit" name="le_name">
<property name="minimumSize">
<size>
<width>120</width>
<height>0</height>
</size>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_3">
<property name="text">
<string>归档时间:</string>
</property>
</widget>
</item>
</layout>
</item>
<item row="2" column="3">
<spacer name="horizontalSpacer_4">
<property name="orientation">
<enum>Qt::Orientation::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>105</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="4" column="0" colspan="4">
<item>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<spacer name="horizontalSpacer_2">
@ -272,19 +232,6 @@ QPushButton:disabled {
</item>
</layout>
</item>
<item row="3" column="1">
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Orientation::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>75</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
<resources/>

View File

@ -13,7 +13,7 @@
<property name="windowTitle">
<string>Dialog</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_4" stretch="0,7,3,0">
<layout class="QVBoxLayout" name="verticalLayout_4" stretch="7,3,0">
<property name="spacing">
<number>0</number>
</property>
@ -29,63 +29,6 @@
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QWidget" name="widget" native="true">
<property name="maximumSize">
<size>
<width>16777215</width>
<height>25</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">QWidget {
background: #2c5282;
color: white;
border: none;
}
QWidget QLabel {
color: white;
font-size: 12px;
background: transparent;
}</string>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<property name="spacing">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QLabel" name="label">
<property name="text">
<string>数据源选择</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_2">
<property name="orientation">
<enum>Qt::Orientation::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QSplitter" name="splitter">
<property name="orientation">

View File

@ -34,60 +34,6 @@
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QWidget" name="widget" native="true">
<property name="maximumSize">
<size>
<width>16777215</width>
<height>21</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">QWidget {
background: #2c5282;
color: white;
border: none;
}
QWidget QLabel {
color: white;
font-size: 12px;
background: transparent;
}</string>
</property>
<layout class="QHBoxLayout" name="horizontalLayout">
<property name="topMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QLabel" name="label">
<property name="styleSheet">
<string notr="true"/>
</property>
<property name="text">
<string>网络通信设置</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Orientation::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>302</width>
<height>18</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QTabWidget" name="tabWidget">
<property name="styleSheet">

View File

@ -24,7 +24,7 @@
<property name="windowTitle">
<string>Dialog</string>
</property>
<layout class="QGridLayout" name="gridLayout_2" columnstretch="1,3">
<layout class="QGridLayout" name="gridLayout_2" columnstretch="1,0">
<property name="leftMargin">
<number>0</number>
</property>
@ -44,71 +44,6 @@
<number>4</number>
</property>
<item row="0" column="0" colspan="2">
<widget class="QWidget" name="widget" native="true">
<property name="maximumSize">
<size>
<width>16777215</width>
<height>25</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">QWidget {
background: #2c5282;
color: white;
border: none;
}
QWidget QLabel {
color: white;
font-size: 12px;
background: transparent;
}</string>
</property>
<layout class="QHBoxLayout" name="horizontalLayout">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QLabel" name="label">
<property name="font">
<font>
<pointsize>-1</pointsize>
</font>
</property>
<property name="styleSheet">
<string notr="true"/>
</property>
<property name="text">
<string>新增线路</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Orientation::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>536</width>
<height>18</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
<item row="1" column="0" colspan="2">
<widget class="QWidget" name="widget_4" native="true">
<layout class="QHBoxLayout" name="horizontalLayout_4" stretch="0,1,0,0,3">
<property name="leftMargin">
@ -170,7 +105,88 @@ QWidget QLabel {
</layout>
</widget>
</item>
<item row="2" column="0">
<item row="1" column="1">
<widget class="QGroupBox" name="groupBox_3">
<property name="title">
<string>间隔设备</string>
</property>
<layout class="QGridLayout" name="gridLayout_3">
<property name="leftMargin">
<number>4</number>
</property>
<property name="topMargin">
<number>6</number>
</property>
<property name="rightMargin">
<number>4</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item row="0" column="0" colspan="3">
<widget class="QTableView" name="tableView_items"/>
</item>
<item row="1" column="0">
<spacer name="horizontalSpacer_6">
<property name="orientation">
<enum>Qt::Orientation::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>186</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="1" column="1">
<widget class="QPushButton" name="btn_add">
<property name="styleSheet">
<string notr="true">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; /* 浅灰色文字 */
}
</string>
</property>
<property name="text">
<string>添加到线路</string>
</property>
</widget>
</item>
<item row="1" column="2">
<spacer name="horizontalSpacer_7">
<property name="orientation">
<enum>Qt::Orientation::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>186</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
<item row="1" column="0">
<widget class="QGroupBox" name="groupBox_2">
<property name="title">
<string>编辑设备</string>
@ -316,88 +332,7 @@ QPushButton:disabled {
</layout>
</widget>
</item>
<item row="2" column="1">
<widget class="QGroupBox" name="groupBox_3">
<property name="title">
<string>间隔设备</string>
</property>
<layout class="QGridLayout" name="gridLayout_3">
<property name="leftMargin">
<number>4</number>
</property>
<property name="topMargin">
<number>6</number>
</property>
<property name="rightMargin">
<number>4</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item row="0" column="0" colspan="3">
<widget class="QTableView" name="tableView_items"/>
</item>
<item row="1" column="0">
<spacer name="horizontalSpacer_6">
<property name="orientation">
<enum>Qt::Orientation::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>186</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="1" column="1">
<widget class="QPushButton" name="btn_add">
<property name="styleSheet">
<string notr="true">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; /* 浅灰色文字 */
}
</string>
</property>
<property name="text">
<string>添加到线路</string>
</property>
</widget>
</item>
<item row="1" column="2">
<spacer name="horizontalSpacer_7">
<property name="orientation">
<enum>Qt::Orientation::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>186</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
<item row="3" column="0" colspan="2">
<item row="2" column="0" colspan="2">
<widget class="QGroupBox" name="groupBox">
<property name="title">
<string>线路设备列表</string>
@ -409,7 +344,7 @@ QPushButton:disabled {
</layout>
</widget>
</item>
<item row="4" column="0" colspan="2">
<item row="3" column="0" colspan="2">
<widget class="QWidget" name="widget_2" native="true">
<layout class="QHBoxLayout" name="horizontalLayout_2">
<property name="leftMargin">

View File

@ -24,7 +24,7 @@
<property name="windowTitle">
<string>Dialog</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_2" stretch="0,0,1,1,0">
<layout class="QVBoxLayout" name="verticalLayout_2" stretch="0,1,1,0">
<property name="leftMargin">
<number>0</number>
</property>
@ -37,99 +37,6 @@
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QWidget" name="widget" native="true">
<property name="maximumSize">
<size>
<width>16777215</width>
<height>25</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">QWidget {
background: #2c5282;
color: white;
border: none;
}
QWidget QLabel {
color: white;
font-size: 12px;
background: transparent;
}</string>
</property>
<layout class="QHBoxLayout" name="horizontalLayout">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QLabel" name="label">
<property name="font">
<font>
<pointsize>-1</pointsize>
</font>
</property>
<property name="styleSheet">
<string notr="true"/>
</property>
<property name="text">
<string>间隔详细设置</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_4">
<property name="orientation">
<enum>Qt::Orientation::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QLabel" name="label_bay">
<property name="font">
<font>
<pointsize>-1</pointsize>
</font>
</property>
<property name="styleSheet">
<string notr="true"/>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Orientation::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QWidget" name="widget_3" native="true">
<layout class="QHBoxLayout" name="horizontalLayout_3">

View File

@ -40,68 +40,6 @@
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QWidget" name="widget" native="true">
<property name="maximumSize">
<size>
<width>16777215</width>
<height>25</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">QWidget {
background: #2c5282;
color: white;
border: none;
}
QWidget QLabel {
color: white;
font-size: 12px;
background: transparent;
}</string>
</property>
<layout class="QHBoxLayout" name="horizontalLayout">
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QLabel" name="label">
<property name="font">
<font>
<pointsize>-1</pointsize>
</font>
</property>
<property name="styleSheet">
<string notr="true"/>
</property>
<property name="text">
<string>设置间隔</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Orientation::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>460</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QWidget" name="widget_2" native="true">
<layout class="QVBoxLayout" name="verticalLayout_2">

View File

@ -24,7 +24,7 @@
<property name="windowTitle">
<string>Dialog</string>
</property>
<layout class="QGridLayout" name="gridLayout_2" columnstretch="1,3">
<layout class="QGridLayout" name="gridLayout_2" columnstretch="1,0">
<property name="leftMargin">
<number>0</number>
</property>
@ -43,28 +43,9 @@
<property name="verticalSpacing">
<number>4</number>
</property>
<item row="0" column="0" colspan="2">
<widget class="QWidget" name="widget" native="true">
<property name="maximumSize">
<size>
<width>16777215</width>
<height>25</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">QWidget {
background: #2c5282;
color: white;
border: none;
}
QWidget QLabel {
color: white;
font-size: 12px;
background: transparent;
}</string>
</property>
<layout class="QHBoxLayout" name="horizontalLayout">
<item row="3" column="0" colspan="2">
<widget class="QWidget" name="widget_2" native="true">
<layout class="QHBoxLayout" name="horizontalLayout_2">
<property name="leftMargin">
<number>0</number>
</property>
@ -78,29 +59,169 @@ QWidget QLabel {
<number>0</number>
</property>
<item>
<widget class="QLabel" name="label">
<property name="font">
<font>
<pointsize>-1</pointsize>
</font>
</property>
<property name="styleSheet">
<string notr="true"/>
</property>
<property name="text">
<string>新增线路</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer">
<spacer name="horizontalSpacer_2">
<property name="orientation">
<enum>Qt::Orientation::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>536</width>
<height>18</height>
<width>540</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="btn_ok">
<property name="minimumSize">
<size>
<width>80</width>
<height>20</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">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; /* 浅灰色文字 */
}
</string>
</property>
<property name="text">
<string>确定</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="btn_cancel">
<property name="minimumSize">
<size>
<width>80</width>
<height>20</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">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; /* 浅灰色文字 */
}
</string>
</property>
<property name="text">
<string>取消</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item row="1" column="1">
<widget class="QGroupBox" name="groupBox_3">
<property name="title">
<string>间隔设备</string>
</property>
<layout class="QGridLayout" name="gridLayout_3">
<property name="leftMargin">
<number>4</number>
</property>
<property name="topMargin">
<number>6</number>
</property>
<property name="rightMargin">
<number>4</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item row="0" column="0" colspan="3">
<widget class="QTableView" name="tableView_items"/>
</item>
<item row="1" column="0">
<spacer name="horizontalSpacer_6">
<property name="orientation">
<enum>Qt::Orientation::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>186</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="1" column="1">
<widget class="QPushButton" name="btn_add">
<property name="styleSheet">
<string notr="true">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; /* 浅灰色文字 */
}
</string>
</property>
<property name="text">
<string>添加到线路</string>
</property>
</widget>
</item>
<item row="1" column="2">
<spacer name="horizontalSpacer_7">
<property name="orientation">
<enum>Qt::Orientation::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>186</width>
<height>20</height>
</size>
</property>
</spacer>
@ -108,7 +229,19 @@ QWidget QLabel {
</layout>
</widget>
</item>
<item row="1" column="0" colspan="2">
<item row="2" column="0" colspan="2">
<widget class="QGroupBox" name="groupBox">
<property name="title">
<string>线路设备列表</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<widget class="QTableView" name="tableView_selected"/>
</item>
</layout>
</widget>
</item>
<item row="0" column="0" colspan="2">
<widget class="QWidget" name="widget_4" native="true">
<layout class="QHBoxLayout" name="horizontalLayout_4" stretch="0,1,0,0,3">
<property name="leftMargin">
@ -170,7 +303,7 @@ QWidget QLabel {
</layout>
</widget>
</item>
<item row="2" column="0">
<item row="1" column="0">
<widget class="QGroupBox" name="groupBox_2">
<property name="title">
<string>编辑设备</string>
@ -316,204 +449,6 @@ QPushButton:disabled {
</layout>
</widget>
</item>
<item row="2" column="1">
<widget class="QGroupBox" name="groupBox_3">
<property name="title">
<string>间隔设备</string>
</property>
<layout class="QGridLayout" name="gridLayout_3">
<property name="leftMargin">
<number>4</number>
</property>
<property name="topMargin">
<number>6</number>
</property>
<property name="rightMargin">
<number>4</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item row="0" column="0" colspan="3">
<widget class="QTableView" name="tableView_items"/>
</item>
<item row="1" column="0">
<spacer name="horizontalSpacer_6">
<property name="orientation">
<enum>Qt::Orientation::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>186</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="1" column="1">
<widget class="QPushButton" name="btn_add">
<property name="styleSheet">
<string notr="true">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; /* 浅灰色文字 */
}
</string>
</property>
<property name="text">
<string>添加到线路</string>
</property>
</widget>
</item>
<item row="1" column="2">
<spacer name="horizontalSpacer_7">
<property name="orientation">
<enum>Qt::Orientation::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>186</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
<item row="3" column="0" colspan="2">
<widget class="QGroupBox" name="groupBox">
<property name="title">
<string>线路设备列表</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<widget class="QTableView" name="tableView_selected"/>
</item>
</layout>
</widget>
</item>
<item row="4" column="0" colspan="2">
<widget class="QWidget" name="widget_2" native="true">
<layout class="QHBoxLayout" name="horizontalLayout_2">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<spacer name="horizontalSpacer_2">
<property name="orientation">
<enum>Qt::Orientation::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>540</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="btn_ok">
<property name="minimumSize">
<size>
<width>80</width>
<height>20</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">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; /* 浅灰色文字 */
}
</string>
</property>
<property name="text">
<string>确定</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="btn_cancel">
<property name="minimumSize">
<size>
<width>80</width>
<height>20</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">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; /* 浅灰色文字 */
}
</string>
</property>
<property name="text">
<string>取消</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
<resources/>

View File

@ -24,7 +24,7 @@
<property name="windowTitle">
<string>Dialog</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_4" stretch="0,0,1,1,0">
<layout class="QVBoxLayout" name="verticalLayout_4" stretch="0,1,1,0">
<property name="leftMargin">
<number>0</number>
</property>
@ -37,99 +37,6 @@
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QWidget" name="widget" native="true">
<property name="maximumSize">
<size>
<width>16777215</width>
<height>25</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">QWidget {
background: #2c5282;
color: white;
border: none;
}
QWidget QLabel {
color: white;
font-size: 12px;
background: transparent;
}</string>
</property>
<layout class="QHBoxLayout" name="horizontalLayout">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QLabel" name="label">
<property name="font">
<font>
<pointsize>-1</pointsize>
</font>
</property>
<property name="styleSheet">
<string notr="true"/>
</property>
<property name="text">
<string>变压器详细设置</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_3">
<property name="orientation">
<enum>Qt::Orientation::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>530</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QLabel" name="label_name">
<property name="font">
<font>
<pointsize>-1</pointsize>
</font>
</property>
<property name="styleSheet">
<string notr="true"/>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Orientation::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>530</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QWidget" name="widget_3" native="true">
<layout class="QHBoxLayout" name="horizontalLayout_3">

View File

@ -40,68 +40,6 @@
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QWidget" name="widget" native="true">
<property name="maximumSize">
<size>
<width>16777215</width>
<height>25</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">QWidget {
background: #2c5282;
color: white;
border: none;
}
QWidget QLabel {
color: white;
font-size: 12px;
background: transparent;
}</string>
</property>
<layout class="QHBoxLayout" name="horizontalLayout">
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QLabel" name="label">
<property name="font">
<font>
<pointsize>-1</pointsize>
</font>
</property>
<property name="styleSheet">
<string notr="true"/>
</property>
<property name="text">
<string>设置变压器</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Orientation::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>460</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QWidget" name="widget_2" native="true">
<layout class="QVBoxLayout" name="verticalLayout_2">

View File

@ -24,133 +24,20 @@
<property name="windowTitle">
<string>Dialog</string>
</property>
<layout class="QGridLayout" name="gridLayout">
<item row="1" column="2">
<widget class="QStackedWidget" name="stackedWidget_next">
<property name="maximumSize">
<size>
<width>80</width>
<height>22</height>
</size>
</property>
<property name="currentIndex">
<number>0</number>
</property>
<widget class="QWidget" name="page_next">
<layout class="QVBoxLayout" name="verticalLayout">
<property name="spacing">
<number>0</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QPushButton" name="btn_next">
<property name="minimumSize">
<size>
<width>80</width>
<height>20</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">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; /* 浅灰色文字 */
}
</string>
</property>
<property name="text">
<string>下一步</string>
</property>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="page_ok">
<layout class="QHBoxLayout" name="horizontalLayout">
<property name="spacing">
<number>0</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QPushButton" name="btn_ok">
<property name="minimumSize">
<size>
<width>80</width>
<height>20</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">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; /* 浅灰色文字 */
}
</string>
</property>
<property name="text">
<string>完成</string>
</property>
</widget>
</item>
</layout>
</widget>
</widget>
</item>
<item row="0" column="0" colspan="4">
<layout class="QVBoxLayout" name="verticalLayout_3" stretch="1,0">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QTabWidget" name="tabWidget">
<property name="styleSheet">
<string notr="true">QTabWidget::pane {
@ -489,16 +376,78 @@ QPushButton:disabled {
</widget>
</widget>
</item>
<item row="1" column="3">
<widget class="QPushButton" name="btn_cancel">
<property name="minimumSize">
<size>
<width>80</width>
<height>20</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">QPushButton {
<item>
<layout class="QHBoxLayout" name="horizontalLayout_4">
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Orientation::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>136</width>
<height>17</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QStackedWidget" name="stackedWidget_last">
<property name="maximumSize">
<size>
<width>80</width>
<height>22</height>
</size>
</property>
<property name="currentIndex">
<number>0</number>
</property>
<widget class="QWidget" name="page_null">
<layout class="QVBoxLayout" name="verticalLayout_2">
<property name="spacing">
<number>0</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
</layout>
</widget>
<widget class="QWidget" name="page_last">
<layout class="QHBoxLayout" name="horizontalLayout_3">
<property name="spacing">
<number>0</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QPushButton" name="btn_last">
<property name="minimumSize">
<size>
<width>80</width>
<height>20</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">QPushButton {
background-color: #5a79a1; /* 中性灰蓝,不刺眼 */
color: white;
border: none; /* 无边框,扁平化 */
@ -520,82 +469,54 @@ QPushButton:disabled {
color: #d1dce9; /* 浅灰色文字 */
}
</string>
</property>
<property name="text">
<string>取消</string>
</property>
</widget>
</item>
<item row="1" column="0">
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Orientation::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>139</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="1" column="1">
<widget class="QStackedWidget" name="stackedWidget_last">
<property name="maximumSize">
<size>
<width>80</width>
<height>22</height>
</size>
</property>
<property name="currentIndex">
<number>0</number>
</property>
<widget class="QWidget" name="page_null">
<layout class="QVBoxLayout" name="verticalLayout_2">
<property name="spacing">
</property>
<property name="text">
<string>上一步</string>
</property>
</widget>
</item>
</layout>
</widget>
</widget>
</item>
<item>
<widget class="QStackedWidget" name="stackedWidget_next">
<property name="maximumSize">
<size>
<width>80</width>
<height>22</height>
</size>
</property>
<property name="currentIndex">
<number>0</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
</layout>
</widget>
<widget class="QWidget" name="page_last">
<layout class="QHBoxLayout" name="horizontalLayout_3">
<property name="spacing">
<number>0</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QPushButton" name="btn_last">
<property name="minimumSize">
<size>
<width>80</width>
<height>20</height>
</size>
<widget class="QWidget" name="page_next">
<layout class="QVBoxLayout" name="verticalLayout">
<property name="spacing">
<number>0</number>
</property>
<property name="styleSheet">
<string notr="true">QPushButton {
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QPushButton" name="btn_next">
<property name="minimumSize">
<size>
<width>80</width>
<height>20</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">QPushButton {
background-color: #5a79a1; /* 中性灰蓝,不刺眼 */
color: white;
border: none; /* 无边框,扁平化 */
@ -617,15 +538,110 @@ QPushButton:disabled {
color: #d1dce9; /* 浅灰色文字 */
}
</string>
</property>
<property name="text">
<string>下一步</string>
</property>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="page_ok">
<layout class="QHBoxLayout" name="horizontalLayout">
<property name="spacing">
<number>0</number>
</property>
<property name="text">
<string>上一步</string>
<property name="leftMargin">
<number>0</number>
</property>
</widget>
</item>
</layout>
</widget>
</widget>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QPushButton" name="btn_ok">
<property name="minimumSize">
<size>
<width>80</width>
<height>20</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">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; /* 浅灰色文字 */
}
</string>
</property>
<property name="text">
<string>完成</string>
</property>
</widget>
</item>
</layout>
</widget>
</widget>
</item>
<item>
<widget class="QPushButton" name="btn_cancel">
<property name="minimumSize">
<size>
<width>80</width>
<height>20</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">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; /* 浅灰色文字 */
}
</string>
</property>
<property name="text">
<string>取消</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>

View File

@ -29,35 +29,6 @@
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QWidget" name="widget_title" native="true">
<property name="minimumSize">
<size>
<width>0</width>
<height>20</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>20</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">QWidget {
background: #2c5282;
color: white;
border: none;
}
QWidget QLabel {
color: white;
font-size: 12px;
background: transparent;
}</string>
</property>
</widget>
</item>
<item>
<widget class="QWidget" name="widget" native="true">
<property name="styleSheet">

View File

@ -34,60 +34,6 @@
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QWidget" name="widget" native="true">
<property name="maximumSize">
<size>
<width>16777215</width>
<height>21</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">QWidget {
background: #2c5282;
color: white;
border: none;
}
QWidget QLabel {
color: white;
font-size: 12px;
background: transparent;
}</string>
</property>
<layout class="QHBoxLayout" name="horizontalLayout">
<property name="topMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QLabel" name="label">
<property name="styleSheet">
<string notr="true"/>
</property>
<property name="text">
<string>载入运行时</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Orientation::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>103</width>
<height>18</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QTreeView" name="treeView"/>
</item>

View File

@ -34,71 +34,6 @@
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QWidget" name="widget" native="true">
<property name="minimumSize">
<size>
<width>0</width>
<height>25</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>25</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">QWidget {
background: #2c5282;
color: white;
border: none;
}
QWidget QLabel {
color: white;
font-size: 12px;
background: transparent;
}</string>
</property>
<layout class="QHBoxLayout" name="horizontalLayout">
<property name="topMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QLabel" name="label">
<property name="font">
<font>
<pointsize>-1</pointsize>
</font>
</property>
<property name="styleSheet">
<string notr="true"/>
</property>
<property name="text">
<string>量测设置</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Orientation::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>314</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QTabWidget" name="tabWidget">
<property name="styleSheet">

View File

@ -34,75 +34,6 @@
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QWidget" name="widget" native="true">
<property name="minimumSize">
<size>
<width>0</width>
<height>21</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>21</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">QWidget {
background: #2c5282;
color: white;
border: none;
}
QWidget QLabel {
color: white;
font-size: 12px;
background: transparent;
}</string>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<property name="spacing">
<number>0</number>
</property>
<property name="leftMargin">
<number>6</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QLabel" name="label">
<property name="styleSheet">
<string notr="true"/>
</property>
<property name="text">
<string>参数配置</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_3">
<property name="orientation">
<enum>Qt::Orientation::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>584</width>
<height>18</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QTabWidget" name="tabWidget">
<property name="styleSheet">

View File

@ -34,63 +34,6 @@
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QWidget" name="widget" native="true">
<property name="maximumSize">
<size>
<width>16777215</width>
<height>21</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">QWidget {
background: #2c5282;
color: white;
border: none;
}
QWidget QLabel {
color: white;
font-size: 12px;
background: transparent;
}</string>
</property>
<layout class="QHBoxLayout" name="horizontalLayout">
<property name="spacing">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QLabel" name="label">
<property name="styleSheet">
<string notr="true"/>
</property>
<property name="text">
<string>属性详细信息</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Orientation::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>709</width>
<height>18</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<property name="leftMargin">
@ -198,7 +141,7 @@ QPushButton:disabled {
<x>0</x>
<y>0</y>
<width>794</width>
<height>497</height>
<height>515</height>
</rect>
</property>
</widget>

View File

@ -34,75 +34,6 @@
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QWidget" name="widget" native="true">
<property name="minimumSize">
<size>
<width>0</width>
<height>21</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>21</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">QWidget {
background: #2c5282;
color: white;
border: none;
}
QWidget QLabel {
color: white;
font-size: 12px;
background: transparent;
}</string>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<property name="spacing">
<number>0</number>
</property>
<property name="leftMargin">
<number>6</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QLabel" name="label">
<property name="styleSheet">
<string notr="true"/>
</property>
<property name="text">
<string>图元状态配置</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_3">
<property name="orientation">
<enum>Qt::Orientation::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>584</width>
<height>18</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QWidget" name="widget_2" native="true">
<layout class="QGridLayout" name="gridLayout" rowstretch="0,0,1,0">

View File

@ -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

View File

@ -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

View File

@ -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;

View File

@ -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<QString,int> _mapType; //类型名映射表
TitleBar* m_titleBar;
};
#endif

View File

@ -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);
}

View File

@ -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);

View File

@ -13,6 +13,7 @@
#include <QMessageBox>
#include <QVBoxLayout>
#include <QLibrary>
#include <QTimer>
#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);

View File

@ -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);

View File

@ -31,71 +31,6 @@
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QWidget" name="widget" native="true">
<property name="maximumSize">
<size>
<width>16777215</width>
<height>21</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">QWidget {
background: #2c5282;
color: white;
border: none;
}
QLabel {
color: white;
font-size: 12px;
background: transparent;
}</string>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<property name="leftMargin">
<number>8</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QLabel" name="label">
<property name="font">
<font>
<pointsize>-1</pointsize>
</font>
</property>
<property name="styleSheet">
<string notr="true"/>
</property>
<property name="text">
<string>新建</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Orientation::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>176</width>
<height>18</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QWidget" name="widget_2" native="true">
<layout class="QGridLayout" name="gridLayout">

View File

@ -16,7 +16,7 @@
<property name="styleSheet">
<string notr="true"/>
</property>
<layout class="QGridLayout" name="gridLayout">
<layout class="QVBoxLayout" name="verticalLayout">
<property name="leftMargin">
<number>0</number>
</property>
@ -29,74 +29,11 @@
<property name="bottomMargin">
<number>0</number>
</property>
<property name="spacing">
<number>0</number>
</property>
<item row="0" column="0">
<widget class="QWidget" name="titleBar" native="true">
<property name="minimumSize">
<size>
<width>0</width>
<height>21</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">QWidget {
background: #2c5282;
color: white;
border: none;
}
QWidget QLabel {
color: white;
font-size: 12px;
background: transparent;
}</string>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<property name="spacing">
<number>0</number>
</property>
<property name="leftMargin">
<number>10</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QLabel" name="label">
<property name="text">
<string>加载</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Orientation::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
<item>
<widget class="QTreeView" name="treeView"/>
</item>
<item row="2" column="0">
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<property name="spacing">
<number>20</number>
</property>
<item>
<widget class="QPushButton" name="btnOk">
<property name="minimumSize">
@ -105,6 +42,12 @@ QWidget QLabel {
<height>20</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>80</width>
<height>16777215</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">QPushButton {
background-color: #5a79a1; /* 中性灰蓝,不刺眼 */
@ -142,6 +85,12 @@ QPushButton:disabled {
<height>20</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>80</width>
<height>16777215</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">QPushButton {
background-color: #5a79a1; /* 中性灰蓝,不刺眼 */
@ -173,9 +122,6 @@ QPushButton:disabled {
</item>
</layout>
</item>
<item row="1" column="0">
<widget class="QTreeView" name="treeView"/>
</item>
</layout>
</widget>
<resources/>