feat:添加报警配置alarmEventConfigDialog模块框架

This commit is contained in:
duanshengchao 2025-12-01 09:55:07 +08:00
parent 14f5d740e7
commit 080d99ce7c
19 changed files with 790 additions and 13 deletions

View File

@ -55,6 +55,7 @@ set(H_HEADER_FILES
include/alarmEventRealTimeDock.h include/alarmEventRealTimeDock.h
include/alarmEventUtils.h include/alarmEventUtils.h
include/alarmEventDataService.h include/alarmEventDataService.h
include/alarmEventConfigDialog.h
) )
set(CPP_SOURCE_FILES set(CPP_SOURCE_FILES
@ -90,6 +91,7 @@ set(CPP_SOURCE_FILES
source/alarmEventRealTimeDock.cpp source/alarmEventRealTimeDock.cpp
source/alarmEventUtils.cpp source/alarmEventUtils.cpp
source/alarmEventDataService.cpp source/alarmEventDataService.cpp
source/alarmEventConfigDialog.cpp
) )
set(UI_FILES set(UI_FILES
@ -110,6 +112,7 @@ set(UI_FILES
ui/dpConfigurationDialog.ui ui/dpConfigurationDialog.ui
ui/alarmEventMainDialog.ui ui/alarmEventMainDialog.ui
ui/alarmEventRealTimeDock.ui ui/alarmEventRealTimeDock.ui
ui/alarmEventConfigDialog.ui
) )
set(UTIL_FILES set(UTIL_FILES

View File

View File

@ -65,6 +65,7 @@ public:
void refresh(); void refresh();
bool setCurrentPage(int); bool setCurrentPage(int);
int currentPage() const;
void previousPage(); void previousPage();
void nextPage(); void nextPage();
void firstPage(); void firstPage();

View File

@ -32,15 +32,25 @@ signals:
protected: protected:
void showEvent(QShowEvent* event) override; void showEvent(QShowEvent* event) override;
void resizeEvent(QResizeEvent*) override; void resizeEvent(QResizeEvent*) override;
bool eventFilter(QObject*, QEvent*) override;
private slots: private slots:
void onSignal_subDialogClose(); void onSignal_subDialogClose();
void onSyncDataStatus(const PaginationInfo&); void onSyncDataStatus(const PaginationInfo&);
void onLoadDataError(const QString&); void onLoadDataError(const QString&);
//搜索条件
void onBeginTimeChanged();
void onEndTimeChanged();
public slots: public slots:
void onBtnClicked_close(); void onBtnClicked_close();
void onBtnClicked_firstPage();
void onBtnClicked_previousPage();
void onBtnClicked_nextPage();
void onBtnClicked_lastPage();
void onEditingFinished_page();
private: private:
void showTransparentMask(); void showTransparentMask();
void hideTransparentMask(); void hideTransparentMask();

View File

@ -34,6 +34,7 @@ public:
signals: signals:
void alertWidgetBGColorAlphaChanged(float value); void alertWidgetBGColorAlphaChanged(float value);
void viewAllRealTimeEvents();
public slots: public slots:
void onBtnClicked_open(); void onBtnClicked_open();

View File

@ -95,6 +95,8 @@ public slots:
void onSignal_viewRealTimeData(); void onSignal_viewRealTimeData();
void onSignal_viewHistoricalData(QDateTime); void onSignal_viewHistoricalData(QDateTime);
void onSignal_viewAllRealTimeEvents();
private: private:
Ui::dashboardFrame* ui; Ui::dashboardFrame* ui;
QString m_strName; QString m_strName;

View File

@ -1,5 +1,8 @@
<RCC> <RCC>
<qresource prefix="/"> <qresource prefix="/">
<file>images/icon_unchecked.png</file>
<file>images/icon_checked_green.png</file>
<file>images/icon_unchecked_green.png</file>
<file>images/icon_configuration_blue.png</file> <file>images/icon_configuration_blue.png</file>
<file>images/icon_checked_blue.png</file> <file>images/icon_checked_blue.png</file>
<file>images/icon_search_blue.png</file> <file>images/icon_search_blue.png</file>

Binary file not shown.

After

Width:  |  Height:  |  Size: 273 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 163 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 164 B

View File

View File

@ -259,11 +259,11 @@ void AlarmEventDataService::processHistoricalResponse(const QByteArray& data)
return ; return ;
} }
QList<EventData> historicalEvents;
QJsonObject obj = doc.object(); QJsonObject obj = doc.object();
QJsonValue dataValue = obj.value("data"); QJsonValue dataValue = obj.value("data");
if(dataValue.isArray()) if(dataValue.isArray())
{ {
QList<EventData> historicalEvents;
QJsonArray eventArray = dataValue.toArray(); QJsonArray eventArray = dataValue.toArray();
int size = eventArray.size(); int size = eventArray.size();
for(int i = 0; i < size; ++i) for(int i = 0; i < size; ++i)
@ -277,8 +277,8 @@ void AlarmEventDataService::processHistoricalResponse(const QByteArray& data)
if(validateEvent(event)) if(validateEvent(event))
historicalEvents.append(event); historicalEvents.append(event);
} }
emit historicalQueryData(historicalEvents);
} }
emit historicalQueryData(historicalEvents);
} }
// ==================== 槽函数 ==================== // ==================== 槽函数 ====================

View File

@ -175,7 +175,7 @@ void AlarmEventDataModel::iniHeaderData()
m_headerData.emplace_back(SectionData("间隔", 200, Bay)); m_headerData.emplace_back(SectionData("间隔", 200, Bay));
m_headerData.emplace_back(SectionData("信息", -1, Description)); m_headerData.emplace_back(SectionData("信息", -1, Description));
m_headerData.emplace_back(SectionData("类型", 160, Type)); m_headerData.emplace_back(SectionData("类型", 160, Type));
m_headerData.emplace_back(SectionData("", 160, Severity)); m_headerData.emplace_back(SectionData("", 160, Severity));
m_headerData.emplace_back(SectionData("确认状态", 150, Status)); m_headerData.emplace_back(SectionData("确认状态", 150, Status));
m_headerData.emplace_back(SectionData("操作", 180, Operation)); m_headerData.emplace_back(SectionData("操作", 180, Operation));
} }
@ -382,12 +382,18 @@ bool AlarmEventDataModel::setCurrentPage(int page)
{ {
m_paginationInfo.currentPage = page; m_paginationInfo.currentPage = page;
updateCurPageData(); updateCurPageData();
emit syncDataStatus(m_paginationInfo);
return true; return true;
} }
return false; return false;
} }
int AlarmEventDataModel::currentPage() const
{
return m_paginationInfo.currentPage;
}
void AlarmEventDataModel::previousPage() void AlarmEventDataModel::previousPage()
{ {
if(m_paginationInfo.currentPage == 1) if(m_paginationInfo.currentPage == 1)

View File

@ -4,6 +4,8 @@
#include "messageDialog.h" #include "messageDialog.h"
//#include "dashboardFrame.h" //#include "dashboardFrame.h"
#include "alarmEventDataView.h" #include "alarmEventDataView.h"
#include <QRegularExpressionValidator>
#include <QKeyEvent>
AlarmEventMainDialog::AlarmEventMainDialog(QWidget *parent) AlarmEventMainDialog::AlarmEventMainDialog(QWidget *parent)
: QDialog(parent) : QDialog(parent)
@ -16,11 +18,19 @@ AlarmEventMainDialog::AlarmEventMainDialog(QWidget *parent)
setWindowFlags(Qt::FramelessWindowHint); setWindowFlags(Qt::FramelessWindowHint);
setAttribute(Qt::WA_TranslucentBackground); setAttribute(Qt::WA_TranslucentBackground);
//正则表达式,只能输入数字
QRegularExpression regExp("[0-9]+");
QRegularExpressionValidator* validator = new QRegularExpressionValidator(regExp, this);
ui->lineEditPage->setValidator(validator);
ui->lineEditPage->installEventFilter(this);
//时间范围初始化 //时间范围初始化
QDateTime endTime = QDateTime::currentDateTime(); QDateTime endTime = QDateTime::currentDateTime();
QDateTime beginTime = QDateTime::currentDateTime().addDays(-15); QDateTime beginTime = QDateTime::currentDateTime().addDays(-15);
ui->endTime->setDateTime(endTime); ui->endTime->setDateTime(endTime);
ui->endTime->installEventFilter(this);
ui->beginTime->setDateTime(beginTime); ui->beginTime->setDateTime(beginTime);
ui->beginTime->installEventFilter(this);
m_eventFilter.setTimeRange(beginTime, endTime); m_eventFilter.setTimeRange(beginTime, endTime);
m_tableView = new AlarmEventDataView(Historical_All, this); m_tableView = new AlarmEventDataView(Historical_All, this);
@ -30,6 +40,11 @@ AlarmEventMainDialog::AlarmEventMainDialog(QWidget *parent)
connect(m_tableView->model(), &AlarmEventDataModel::loadDataError, this, &AlarmEventMainDialog::onLoadDataError); connect(m_tableView->model(), &AlarmEventDataModel::loadDataError, this, &AlarmEventMainDialog::onLoadDataError);
connect(ui->btnClose, &QPushButton::clicked, this, &AlarmEventMainDialog::onBtnClicked_close); connect(ui->btnClose, &QPushButton::clicked, this, &AlarmEventMainDialog::onBtnClicked_close);
connect(ui->btnFirstPage, &QPushButton::clicked, this, &AlarmEventMainDialog::onBtnClicked_firstPage);
connect(ui->btnPreviousPage, &QPushButton::clicked, this, &AlarmEventMainDialog::onBtnClicked_previousPage);
connect(ui->btnNextPage, &QPushButton::clicked, this, &AlarmEventMainDialog::onBtnClicked_nextPage);
connect(ui->btnLastPage, &QPushButton::clicked, this, &AlarmEventMainDialog::onBtnClicked_lastPage);
} }
AlarmEventMainDialog::~AlarmEventMainDialog() AlarmEventMainDialog::~AlarmEventMainDialog()
@ -48,6 +63,51 @@ void AlarmEventMainDialog::resizeEvent(QResizeEvent* event)
m_pTransparentMask->setGeometry(0, 0, this->width(), this->height()); m_pTransparentMask->setGeometry(0, 0, this->width(), this->height());
} }
bool AlarmEventMainDialog::eventFilter(QObject* obj, QEvent* event)
{
if(obj == ui->lineEditPage)
{
if(event->type() == QEvent::KeyPress)
{
QKeyEvent* pKeyEvent = static_cast<QKeyEvent*>(event);
if (pKeyEvent->key() == Qt::Key_Enter || pKeyEvent->key() == Qt::Key_Return)
{
onEditingFinished_page();
}
}
else if(event->type() == QEvent::FocusOut)
onEditingFinished_page();
}
else if(obj == ui->beginTime)
{
if(event->type() == QEvent::KeyPress)
{
QKeyEvent* pKeyEvent = static_cast<QKeyEvent*>(event);
if (pKeyEvent->key() == Qt::Key_Enter || pKeyEvent->key() == Qt::Key_Return)
{
onBeginTimeChanged();
}
}
else if(event->type() == QEvent::FocusOut)
onBeginTimeChanged();
}
else if(obj == ui->endTime)
{
if(event->type() == QEvent::KeyPress)
{
QKeyEvent* pKeyEvent = static_cast<QKeyEvent*>(event);
if (pKeyEvent->key() == Qt::Key_Enter || pKeyEvent->key() == Qt::Key_Return)
{
onEndTimeChanged();
}
}
else if(event->type() == QEvent::FocusOut)
onEndTimeChanged();
}
return QWidget::eventFilter(obj, event);
}
void AlarmEventMainDialog::showTransparentMask() void AlarmEventMainDialog::showTransparentMask()
{ {
if(m_pTransparentMask == nullptr) if(m_pTransparentMask == nullptr)
@ -125,9 +185,75 @@ void AlarmEventMainDialog::onLoadDataError(const QString& error)
showMessageDialog(type_warning, QString("错误"), QString("加载数据失败(%1)").arg(error)); showMessageDialog(type_warning, QString("错误"), QString("加载数据失败(%1)").arg(error));
} }
void AlarmEventMainDialog::onBeginTimeChanged()
{
//qDebug() << "beginTimeChanged: " << ui->beginTime->dateTime().toString("yyyy-MM-dd hh:mm:ss");
qint64 beginTime = ui->beginTime->dateTime().toMSecsSinceEpoch();
qint64 endTime = ui->endTime->dateTime().toMSecsSinceEpoch();
if(beginTime > endTime)
{
showTransparentMask();
showMessageDialog(type_warning, QString("错误"), QString("'最早时间' 不能晚于 '最后时间'"));
return;
}
if(m_eventFilter.beginTime() == ui->beginTime->dateTime())
return;
m_eventFilter.setTimeRange(ui->beginTime->dateTime(), ui->endTime->dateTime());
m_tableView->model()->setFilter(m_eventFilter);
}
void AlarmEventMainDialog::onEndTimeChanged()
{
qint64 beginTime = ui->beginTime->dateTime().toMSecsSinceEpoch();
qint64 endTime = ui->endTime->dateTime().toMSecsSinceEpoch();
if(beginTime > endTime)
{
showTransparentMask();
showMessageDialog(type_warning, QString("错误"), QString("'最后时间' 不能早于 '最早时间'"));
return;
}
if(m_eventFilter.endTime() == ui->endTime->dateTime())
return;
m_eventFilter.setTimeRange(ui->beginTime->dateTime(), ui->endTime->dateTime());
m_tableView->model()->setFilter(m_eventFilter);
}
void AlarmEventMainDialog::onBtnClicked_close() void AlarmEventMainDialog::onBtnClicked_close()
{ {
//reject(); //reject();
hide(); hide();
emit sgl_hide(); emit sgl_hide();
} }
void AlarmEventMainDialog::onBtnClicked_firstPage()
{
m_tableView->model()->firstPage();
}
void AlarmEventMainDialog::onBtnClicked_previousPage()
{
m_tableView->model()->previousPage();
}
void AlarmEventMainDialog::onBtnClicked_nextPage()
{
m_tableView->model()->nextPage();
}
void AlarmEventMainDialog::onBtnClicked_lastPage()
{
m_tableView->model()->lastPage();
}
void AlarmEventMainDialog::onEditingFinished_page()
{
//qInfo() << "onEditingFinished_page";
QString strPage = ui->lineEditPage->text();
bool result = m_tableView->model()->setCurrentPage(strPage.toInt());
if(!result)
ui->lineEditPage->setText(QString::number(m_tableView->model()->currentPage()));
}

View File

@ -191,6 +191,7 @@ void AlarmEventRealTimeDock::onBtnClicked_confirmAll()
void AlarmEventRealTimeDock::onBtnClicked_checkAll() void AlarmEventRealTimeDock::onBtnClicked_checkAll()
{ {
emit viewAllRealTimeEvents();
} }
void AlarmEventRealTimeDock::onSIG_receivedNewAlarm(const EventData& event) void AlarmEventRealTimeDock::onSIG_receivedNewAlarm(const EventData& event)

View File

@ -48,6 +48,7 @@ DashboardFrame::DashboardFrame(const QString& strName, dashboardFrame::frameType
if(m_type == dashboardFrame::ft_main) //只有主window具有报警提示 if(m_type == dashboardFrame::ft_main) //只有主window具有报警提示
{ {
m_pAlarmEventRealTimeDock = new AlarmEventRealTimeDock(this); m_pAlarmEventRealTimeDock = new AlarmEventRealTimeDock(this);
connect(m_pAlarmEventRealTimeDock, &AlarmEventRealTimeDock::viewAllRealTimeEvents, this, &DashboardFrame::onSignal_viewAllRealTimeEvents);
} }
else else
{ {
@ -774,3 +775,8 @@ void DashboardFrame::onSignal_viewHistoricalData(QDateTime dateTime)
m_pDateTimeWidget->setState(historical); m_pDateTimeWidget->setState(historical);
} }
} }
void DashboardFrame::onSignal_viewAllRealTimeEvents()
{
onBtnClicked_showRealtimeEvents();
}

View File

@ -84,13 +84,12 @@ void MessageDialog::setMessage(MessageDialogType type,const QString& strTitle,co
setType(type); setType(type);
int maxLength = 25; int maxLength = 25;
ui->labelTitle->setText(strTitle); ui->labelTitle->setText(strTitle);
qInfo() << getStringLength(strContent); //qInfo() << getStringLength(strContent);
if(getStringLength(strContent) > maxLength) if(getStringLength(strContent) > maxLength)
{ {
//QString& strText = const_cast<QString&>(strContent);
QString strText(strContent); QString strText(strContent);
int index = getIndexForLength(strContent, maxLength); int index = getIndexForLength(strContent, maxLength);
qInfo() << index; //qInfo() << index;
strText.insert(index, "\n"); //实现简单自动换行 strText.insert(index, "\n"); //实现简单自动换行
ui->labelContent->setText(strText); ui->labelContent->setText(strText);
} }

View File

@ -0,0 +1,619 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>alarmEventConfigDialog</class>
<widget class="QDialog" name="alarmEventConfigDialog">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>501</width>
<height>334</height>
</rect>
</property>
<property name="windowTitle">
<string>Dialog</string>
</property>
<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="QWidget" name="contentWidget" native="true">
<property name="styleSheet">
<string notr="true">QWidget #contentWidget
{
border:1px solid rgb(76,88,105);
background-color:rgba(36,43,50,250);
}
QLabel
{
font: 12pt &quot;黑体&quot;;
color: rgb(250, 250, 250);
}
QRadioButton
{
spacing:8px;
font: 12pt &quot;黑体&quot;;
color: rgb(250, 250, 250);
}
QRadioButton::indicator
{
width:36px;
height:20px;
}
QRadioButton::indicator:unchecked
{
image: url(:/images/ico_switch_off.png);
}
QRadioButton::indicator:checked
{
image: url(:/images/ico_switch_on.png);
}
QCheckBox
{
spacing:5px;
font: 12pt &quot;黑体&quot;;
color: rgb(250, 250, 250);
}
QCheckBox::indicator
{
width:24px;
height:24px;
}
QCheckBox::indicator:checked
{
image: url(:/images/icon_checked_green.png);
}
QCheckBox::indicator:unchecked
{
image: url(:/images/icon_unchecked.png);
}
QLineEdit
{
font: 12pt &quot;黑体&quot;;
color: rgb(250, 250, 250);
border:1px solid rgb(200,200,200);
background:transparent;
}
QLineEdit:focus
{
border:1px solid rgb(67,160,249);
}
QComboBox
{
font: 11pt &quot;黑体&quot;;
color: rgb(250, 250, 250);
background-color: rgb(54, 62, 74);
border: 0px;
border-radius: 0px;
}
QComboBox:hover
{
background-color: rgb(72, 83, 99);
}
QComboBox::drop-down
{
border:0px;
}
QComboBox::down-arrow
{
margin-right:10px;
width:14px;
border-image: url(:/images/down-arrow.png);
}
QComboBox QAbstractItemView
{
outline: 0px; /*去除选中虚线框 */
border:0px;
background-color:rgba(25,25,25,220);
}
QComboBox QAbstractItemView::item:hover
{
background-color: rgb(43, 102, 158);
}
QComboBox QAbstractItemView::item:selected
{
color: rgb(250, 250, 250);
background-color: rgba(43, 102, 158, 80);
}
</string>
</property>
<widget class="QLabel" name="labeWindowlTitle">
<property name="geometry">
<rect>
<x>25</x>
<y>20</y>
<width>451</width>
<height>31</height>
</rect>
</property>
<property name="styleSheet">
<string notr="true">color: rgb(250, 250, 250);
font: 700 13pt &quot;微软雅黑&quot;;
border:0.5px solid rgb(250,250,250);
border-left:0px;
border-top:0px;
border-right:0px;</string>
</property>
<property name="text">
<string>报警配置</string>
</property>
</widget>
<widget class="QWidget" name="tabBar" native="true">
<property name="geometry">
<rect>
<x>25</x>
<y>60</y>
<width>451</width>
<height>46</height>
</rect>
</property>
<property name="styleSheet">
<string notr="true">QWidget #tabBar
{
background-color: rgb(54, 62, 74);
border-bottom:1px solid rgb(200,200,200);
}</string>
</property>
<widget class="QPushButton" name="tabDataSource">
<property name="geometry">
<rect>
<x>110</x>
<y>16</y>
<width>100</width>
<height>30</height>
</rect>
</property>
<property name="cursor">
<cursorShape>PointingHandCursor</cursorShape>
</property>
<property name="styleSheet">
<string notr="true">QPushButton
{
color: rgb(250, 250, 250);
font: 700 12pt &quot;黑体&quot;;
border:0px;
background-color:transparent;
}
QPushButton:hover
{
}
QPushButton:pressed
{
}</string>
</property>
<property name="text">
<string>通知设置</string>
</property>
</widget>
<widget class="QPushButton" name="tabDataFilter">
<property name="geometry">
<rect>
<x>10</x>
<y>16</y>
<width>100</width>
<height>30</height>
</rect>
</property>
<property name="cursor">
<cursorShape>PointingHandCursor</cursorShape>
</property>
<property name="styleSheet">
<string notr="true">QPushButton
{
color: rgb(250, 250, 250);
font: 700 12pt &quot;黑体&quot;;
border:1px solid rgb(200,200,200);
border-bottom:0px;
background-color:rgba(36,43,50, 250);
}
QPushButton:hover
{
}
QPushButton:pressed
{
}</string>
</property>
<property name="text">
<string>数据筛选</string>
</property>
</widget>
</widget>
<widget class="QStackedWidget" name="stackedWidget">
<property name="geometry">
<rect>
<x>25</x>
<y>110</y>
<width>451</width>
<height>171</height>
</rect>
</property>
<property name="currentIndex">
<number>0</number>
</property>
<widget class="QWidget" name="page_dataFilter">
<property name="styleSheet">
<string notr="true">QWidget #page_dataFilter
{
background-color:transparent;
}
</string>
</property>
<widget class="QLabel" name="alarmLevel">
<property name="geometry">
<rect>
<x>0</x>
<y>10</y>
<width>101</width>
<height>21</height>
</rect>
</property>
<property name="text">
<string>报警级别</string>
</property>
</widget>
<widget class="QCheckBox" name="level_notify">
<property name="geometry">
<rect>
<x>35</x>
<y>45</y>
<width>71</width>
<height>19</height>
</rect>
</property>
<property name="text">
<string>告知</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
<widget class="QCheckBox" name="level_warning">
<property name="geometry">
<rect>
<x>140</x>
<y>45</y>
<width>71</width>
<height>19</height>
</rect>
</property>
<property name="text">
<string>预警</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
<widget class="QCheckBox" name="level_abnormal">
<property name="geometry">
<rect>
<x>245</x>
<y>45</y>
<width>71</width>
<height>19</height>
</rect>
</property>
<property name="text">
<string>异常</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
<widget class="QCheckBox" name="level_accident">
<property name="geometry">
<rect>
<x>350</x>
<y>45</y>
<width>71</width>
<height>19</height>
</rect>
</property>
<property name="text">
<string>事故</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
<widget class="QLabel" name="eventType">
<property name="geometry">
<rect>
<x>0</x>
<y>90</y>
<width>101</width>
<height>21</height>
</rect>
</property>
<property name="text">
<string>事件类型</string>
</property>
</widget>
<widget class="QCheckBox" name="type_hard">
<property name="geometry">
<rect>
<x>35</x>
<y>125</y>
<width>91</width>
<height>19</height>
</rect>
</property>
<property name="text">
<string>硬事件</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
<widget class="QCheckBox" name="type_platformSoft">
<property name="geometry">
<rect>
<x>155</x>
<y>125</y>
<width>121</width>
<height>19</height>
</rect>
</property>
<property name="text">
<string>平台软事件</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
<widget class="QCheckBox" name="type_appSoft">
<property name="geometry">
<rect>
<x>305</x>
<y>125</y>
<width>121</width>
<height>19</height>
</rect>
</property>
<property name="text">
<string>应用软事件</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</widget>
<widget class="QWidget" name="page_notifySetting">
<property name="styleSheet">
<string notr="true">QWidget #page_notifySetting
{
background-color:transparent;
}
</string>
</property>
<widget class="QRadioButton" name="switch_sound">
<property name="geometry">
<rect>
<x>35</x>
<y>40</y>
<width>121</width>
<height>31</height>
</rect>
</property>
<property name="text">
<string>声音提示</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
<property name="autoExclusive">
<bool>false</bool>
</property>
</widget>
<widget class="QRadioButton" name="switch_autoPop">
<property name="geometry">
<rect>
<x>180</x>
<y>40</y>
<width>121</width>
<height>31</height>
</rect>
</property>
<property name="text">
<string>自动弹窗</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
<property name="autoExclusive">
<bool>false</bool>
</property>
</widget>
<widget class="QLabel" name="alarmNotify">
<property name="geometry">
<rect>
<x>0</x>
<y>10</y>
<width>101</width>
<height>21</height>
</rect>
</property>
<property name="text">
<string>报警提示</string>
</property>
</widget>
<widget class="QLabel" name="popSetting">
<property name="geometry">
<rect>
<x>0</x>
<y>90</y>
<width>101</width>
<height>21</height>
</rect>
</property>
<property name="text">
<string>弹窗设置</string>
</property>
</widget>
<widget class="QCheckBox" name="pop_warning">
<property name="geometry">
<rect>
<x>140</x>
<y>130</y>
<width>71</width>
<height>19</height>
</rect>
</property>
<property name="text">
<string>预警</string>
</property>
<property name="checked">
<bool>false</bool>
</property>
</widget>
<widget class="QCheckBox" name="pop_abnormal">
<property name="geometry">
<rect>
<x>245</x>
<y>130</y>
<width>71</width>
<height>19</height>
</rect>
</property>
<property name="text">
<string>异常</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
<widget class="QCheckBox" name="pop_accident">
<property name="geometry">
<rect>
<x>350</x>
<y>130</y>
<width>71</width>
<height>19</height>
</rect>
</property>
<property name="text">
<string>事故</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
<widget class="QCheckBox" name="pop_notify">
<property name="geometry">
<rect>
<x>35</x>
<y>130</y>
<width>71</width>
<height>19</height>
</rect>
</property>
<property name="text">
<string>告知</string>
</property>
<property name="checked">
<bool>false</bool>
</property>
</widget>
</widget>
</widget>
<widget class="QPushButton" name="btnCancle">
<property name="geometry">
<rect>
<x>400</x>
<y>290</y>
<width>71</width>
<height>26</height>
</rect>
</property>
<property name="styleSheet">
<string notr="true">QPushButton
{
color: rgb(250, 250, 250);
font: 700 12pt &quot;微软雅黑&quot;;
border:1px solid rgb(200,200,200);
border-radius:2px;
background-color:rgb(24,32,38);
}
QPushButton:hover
{
background-color:rgb(8,11,13);
}
QPushButton:pressed
{
background-color:rgb(24,32,38);
}</string>
</property>
<property name="text">
<string>取消</string>
</property>
<property name="flat">
<bool>false</bool>
</property>
</widget>
<widget class="QPushButton" name="btnConfirm">
<property name="enabled">
<bool>true</bool>
</property>
<property name="geometry">
<rect>
<x>315</x>
<y>290</y>
<width>71</width>
<height>26</height>
</rect>
</property>
<property name="styleSheet">
<string notr="true">QPushButton
{
color: rgb(250, 250, 250);
font: 700 12pt &quot;微软雅黑&quot;;
border:0px;
border-radius:2px;
background-color:rgb(67,160,249);
}
QPushButton:hover
{
background-color:rgb(55,131,204);
}
QPushButton:pressed
{
background-color:rgb(67,160,249);
}
QPushButton:disabled
{
background-color: rgb(60, 60, 60);
}</string>
</property>
<property name="text">
<string>确认</string>
</property>
<property name="flat">
<bool>false</bool>
</property>
</widget>
</widget>
</item>
</layout>
</widget>
<resources>
<include location="../resource/PowerMaster.qrc"/>
</resources>
<connections/>
</ui>

View File

@ -371,7 +371,7 @@ icon: url(:/images/icon_configuration.png);
</property> </property>
<item> <item>
<property name="text"> <property name="text">
<string>请选择</string> <string>所有厂站</string>
</property> </property>
</item> </item>
</widget> </widget>
@ -411,7 +411,7 @@ icon: url(:/images/icon_configuration.png);
</property> </property>
<item> <item>
<property name="text"> <property name="text">
<string>请选择</string> <string>所有间隔</string>
</property> </property>
</item> </item>
</widget> </widget>
@ -461,7 +461,7 @@ icon: url(:/images/icon_configuration.png);
</property> </property>
<item> <item>
<property name="text"> <property name="text">
<string>请选择</string> <string>全部</string>
</property> </property>
</item> </item>
</widget> </widget>
@ -501,7 +501,7 @@ icon: url(:/images/icon_configuration.png);
</property> </property>
<item> <item>
<property name="text"> <property name="text">
<string>请选择</string> <string>全部</string>
</property> </property>
</item> </item>
</widget> </widget>
@ -551,7 +551,7 @@ icon: url(:/images/icon_configuration.png);
</property> </property>
<item> <item>
<property name="text"> <property name="text">
<string>请选择</string> <string>全部</string>
</property> </property>
</item> </item>
<item> <item>
@ -664,7 +664,7 @@ icon: url(:/images/icon_configuration.png);
</size> </size>
</property> </property>
<property name="displayFormat"> <property name="displayFormat">
<string>yyyy/MM/dd H:mm</string> <string>yyyy/MM/dd hh:mm:ss</string>
</property> </property>
</widget> </widget>
</item> </item>
@ -683,7 +683,7 @@ icon: url(:/images/icon_configuration.png);
</size> </size>
</property> </property>
<property name="displayFormat"> <property name="displayFormat">
<string>yyyy/MM/dd H:mm</string> <string>yyyy/MM/dd hh:mm:ss</string>
</property> </property>
</widget> </widget>
</item> </item>