1.0版本

This commit is contained in:
Zhang0626 2022-11-07 14:02:09 +08:00
parent a1250befa0
commit d66ad58b8b
31 changed files with 839 additions and 449 deletions

View File

@ -95,6 +95,9 @@ text-align:center;
<height>31</height> <height>31</height>
</rect> </rect>
</property> </property>
<property name="toolTip">
<string>查找</string>
</property>
<property name="styleSheet"> <property name="styleSheet">
<string notr="true">background-image: url(:/images/images/imgModelAction/Search.png);</string> <string notr="true">background-image: url(:/images/images/imgModelAction/Search.png);</string>
</property> </property>

View File

@ -361,7 +361,7 @@ void BaseWgt::maximumBtnClickedSlot()
this->setGeometry(m_screenRect); this->setGeometry(m_screenRect);
m_pMaxBtn->setProperty("maxState", true); m_pMaxBtn->setProperty("maxState", true);
m_pMaxBtn->setToolTip("restore"); m_pMaxBtn->setToolTip("最大化");
} }
else else
{ {

View File

@ -441,8 +441,8 @@ void Calculation::_Integration(QVector<double> & vecData,QVector<double>& retDat
qDebug()<< imageshiftfft.size() << endl; qDebug()<< imageshiftfft.size() << endl;
for(int k = 1; k < realshiftfft.size()+1;k++){ for(int k = 1; k < realshiftfft.size()+1;k++){
realvalue.push_back((realshiftfft.at(k-1)/(k*2*3.14))*1000 * 2);//单位转换mm/s,*1000 *2 精度损失 realvalue.push_back((realshiftfft.at(k-1)/(k*2*PI))*1000 * 2);//单位转换mm/s,*1000 *2 精度损失
imagevalue.push_back((imageshiftfft.at(k-1)/(k*2*3.14))*1000 * 2);//单位转换mm/s,*1000 imagevalue.push_back((imageshiftfft.at(k-1)/(k*2*PI))*1000 * 2);//单位转换mm/s,*1000
} }
_iFFT(realvalue,imagevalue,retData); _iFFT(realvalue,imagevalue,retData);
@ -722,6 +722,51 @@ QVector<double> Calculation::filter(QVector<double>&x, QVector<double>& coeff_b,
void Calculation::ButterWorth(QVector<double>&inData,double *FrequencyBands,QVector<double>& outData) void Calculation::ButterWorth(QVector<double>&inData,double *FrequencyBands,QVector<double>& outData)
{ {
int FiltOrd = 4; int FiltOrd = 4;
// double s = inData.size();
// double a = cos(M_PI*(FrequencyBands[0]+FrequencyBands[1])/s)/cos(M_PI*(FrequencyBands[0]-FrequencyBands[1])/s);
// double a2 = a*a;
// double b = tan(M_PI*(FrequencyBands[0]-FrequencyBands[1])/s);
// double b2 = b*b;
// double r;
// int n = FiltOrd/4;
// double *A = (double *)malloc(n*sizeof(double));
// double *d1 = (double *)malloc(n*sizeof(double));
// double *d2 = (double *)malloc(n*sizeof(double));
// double *d3 = (double *)malloc(n*sizeof(double));
// double *d4 = (double *)malloc(n*sizeof(double));
// double *w0 = (double *)calloc(n, sizeof(double));
// double *w1 = (double *)calloc(n, sizeof(double));
// double *w2 = (double *)calloc(n, sizeof(double));
// double *w3 = (double *)calloc(n, sizeof(double));
// double *w4 = (double *)calloc(n, sizeof(double));
// double x;
// for(int i=0; i<n; ++i){
// r = sin(M_PI*(2.0*i+1.0)/(4.0*n));
// s = b2 + 2.0*b*r + 1.0;
// A[i] = 1.0/s;
// d1[i] = 4.0*a*(1.0+b*r)/s;
// d2[i] = 2.0*(b2-2.0*a2-1.0)/s;
// d3[i] = 4.0*a*(1.0-b*r)/s;
// d4[i] = -(b2 - 2.0*b*r + 1.0)/s;}
// r = 4.0*a;
// s = 4.0*a2+2.0;
// for(int j = 0; j < inData.size(); j++){
// for(int i=0; i<n; ++i){
// w0[i] = d1[i]*w1[i] + d2[i]*w2[i]+ d3[i]*w3[i]+ d4[i]*w4[i] + inData[j];
// x = A[i]*(w0[i] - r*w1[i] + s*w2[i]- r*w3[i] + w4[i]);
// w4[i] = w3[i];
// w3[i] = w2[i];
// w2[i] = w1[i];
// w1[i] = w0[i];
// }
// outData.push_back(x);
// //printf("%lf\n", x);
// }
// free(A);free(A);free(d1);free(d2);free(d3);free(d4);
// free(w0);free(w1);free(w2);free(w3);free(w4);
QVector<double> a,b; QVector<double> a,b;
a = ComputeDenCoeffs(FiltOrd, FrequencyBands[0], FrequencyBands[1]); a = ComputeDenCoeffs(FiltOrd, FrequencyBands[0], FrequencyBands[1]);

View File

@ -95,7 +95,7 @@ public:
QVector<double> ComputeHP(int FilterOrder); QVector<double> ComputeHP(int FilterOrder);
//vector<double> filter(int ord, vector<double> a, vector<double> b, int np, vector<double> x); //vector<double> filter(int ord, vector<double> a, vector<double> b, int np, vector<double> x);
//巴特沃斯滤波 //巴特沃斯滤波(带通)
QVector<double> filter(QVector<double>&x, QVector<double>& coeff_b, QVector<double>& coeff_a); QVector<double> filter(QVector<double>&x, QVector<double>& coeff_b, QVector<double>& coeff_a);
void ButterWorth(QVector<double>& inData,double *FrequencyBands,QVector<double>& outData); void ButterWorth(QVector<double>& inData,double *FrequencyBands,QVector<double>& outData);

File diff suppressed because it is too large Load Diff

View File

@ -31,7 +31,8 @@ enum FormType
PolarPlot, //极坐标 PolarPlot, //极坐标
BodePlot, //伯德图 BodePlot, //伯德图
ShaftCenterline, //轴心位置图 ShaftCenterline, //轴心位置图
AllWavePlot //全谱图 AllWavePlot , //全谱图
TimeWavePlot //时域长波形
}; };
@ -58,7 +59,7 @@ class ChildForm : public BaseWgt
Q_OBJECT Q_OBJECT
public: public:
explicit ChildForm(FormType iType,QString m_strName = "",DEVICE_INFO* DeviceInfo = NULL, QWidget *parent = nullptr); explicit ChildForm(FormType iType,QString m_strName = "",DEVICE_INFO* DeviceInfo = NULL,int iCurCount = 0, QWidget *parent = nullptr);
~ChildForm(); ~ChildForm();
void SetName(QString strName) void SetName(QString strName)
@ -103,6 +104,7 @@ public:
void EnableBtn(); void EnableBtn();
void UpdateDiffMenu(); void UpdateDiffMenu();
void InitIntegration(); void InitIntegration();
void UpdateTracerLabel();
QVector<WAVE_DATA> childWave; QVector<WAVE_DATA> childWave;
QVector<WAVE_DATA> OrbitXWave,OrbitYWave; QVector<WAVE_DATA> OrbitXWave,OrbitYWave;
QVector<KeyPhasor> vecKeyPhasor; QVector<KeyPhasor> vecKeyPhasor;
@ -126,20 +128,20 @@ signals:
protected: protected:
public slots: public slots:
void ZoomBtnSlot_X(); void ScalesBtnSlot_X();
void ZoomBtnSlot_Y(); void ScalesBtnSlot_Y();
void ZoomBtnSlot_XY(); void ScalesBtnSlot_XY();
void ZoomBtnSlot_Hand(); void ScalesBtnSlot_Hand();
void ToRpm(); void ToRpm();
void Btn_ZoomSlot(); void Btn_ScalesSlot();
void IntegrationSlot(); void IntegrationSlot();
void DoubleIntegrationSlot(); void DoubleIntegrationSlot();
void DifferentiationSlot(); void DifferentiationSlot();
void DoubleDifferentiationSlot(); void DoubleDifferentiationSlot();
void ScalesBox(); void ZoomBox();
void ScalesX(); void ZoomX();
void ScalesY(); void ZoomY();
void ScalesXY(); void ZoomXY();
void Cursor(); void Cursor();
void SetScales(); void SetScales();
void SetFilter(); void SetFilter();
@ -170,7 +172,8 @@ private:
std::condition_variable m_cv; std::condition_variable m_cv;
std::mutex mu; std::mutex mu;
WAVE_CSVDATA m_vecCsvData[32]; WAVE_CSVDATA m_vecCsvData[32];
QString m_strFilter;
QString m_strSacles;
int m_nStart; int m_nStart;
int m_nEnd; int m_nEnd;
QMenu *remove_menu; QMenu *remove_menu;
@ -180,6 +183,7 @@ private:
QAction *Ord; QAction *Ord;
QAction *Rad; QAction *Rad;
QCPAxis *yAxis3; QCPAxis *yAxis3;
QList<QCPAxis*> Axis; QList<QCPAxis*> Axis;
QCPItemTracer *tracer; //游标 QCPItemTracer *tracer; //游标

View File

@ -17,11 +17,11 @@
<string>Form</string> <string>Form</string>
</property> </property>
<property name="styleSheet"> <property name="styleSheet">
<string notr="true">#Btn_ZoomMenu { border-image:url(:/images/images/imgModelAction/Zoom_xy.png) 1; } <string notr="true">#Btn_ScalesMenu { border-image:url(:/images/images/imgModelAction/Zoom_xy.png) 1; }
#Btn_ZoomMenu:hover { border-image:url(:/images/images/imgModelAction/Zoom-xy-h.png) 1; } #Btn_ScalesMenu:hover { border-image:url(:/images/images/imgModelAction/Zoom-xy-h.png) 1; }
#Btn_ZoomMenu:pressed { border-image:url(:/images/images/imgModelAction/Zoom-xy-p.png) 1; } #Btn_ScalesMenu:pressed { border-image:url(:/images/images/imgModelAction/Zoom-xy-p.png) 1; }
#Btn_ZoomMenu:checked { border-image:url(:/images/images/imgModelAction/Zoom_xy.png) 1; } #Btn_ScalesMenu:checked { border-image:url(:/images/images/imgModelAction/Zoom_xy.png) 1; }
#Btn_ZoomMenu::menu-indicator{image:none;} #Btn_ScalesMenu::menu-indicator{image:none;}
#Btn_setScales { border-image:url(:/images/images/imgModelAction/setScales.png) 5; } #Btn_setScales { border-image:url(:/images/images/imgModelAction/setScales.png) 5; }
#Btn_setScales:hover { border-image:url(:/images/images/imgModelAction/setScales-h.png) 5; } #Btn_setScales:hover { border-image:url(:/images/images/imgModelAction/setScales-h.png) 5; }
@ -98,7 +98,7 @@
#measureBtn:pressed {border-image:url(:/images/images/imgModelAction/measure-p.png) 5; } #measureBtn:pressed {border-image:url(:/images/images/imgModelAction/measure-p.png) 5; }
#measureBtn:checked {border-image:url(:/images/images/imgModelAction/measure-p.png) 5; } #measureBtn:checked {border-image:url(:/images/images/imgModelAction/measure-p.png) 5; }
#realTimeDataBtn { border-image:url(:/images/images/imgModelAction/realTime.png) 5; } #realTimeDataBtn { border-image:url(:/images/images/imgModelAction/realTime-d.png) 5; }
#realTimeDataBtn:hover { border-image:url(:/images/images/imgModelAction/realTime-h.png) 5; } #realTimeDataBtn:hover { border-image:url(:/images/images/imgModelAction/realTime-h.png) 5; }
#realTimeDataBtn:pressed {border-image:url(:/images/images/imgModelAction/realTime-p.png) 5; } #realTimeDataBtn:pressed {border-image:url(:/images/images/imgModelAction/realTime-p.png) 5; }
#realTimeDataBtn:checked {border-image:url(:/images/images/imgModelAction/realTime-p.png) 5; } #realTimeDataBtn:checked {border-image:url(:/images/images/imgModelAction/realTime-p.png) 5; }
@ -338,7 +338,7 @@
<height>41</height> <height>41</height>
</size> </size>
</property> </property>
<widget class="QPushButton" name="Btn_ZoomMenu"> <widget class="QPushButton" name="Btn_ScalesMenu">
<property name="geometry"> <property name="geometry">
<rect> <rect>
<x>90</x> <x>90</x>
@ -473,7 +473,7 @@
</widget> </widget>
<widget class="QPushButton" name="realTimeDataBtn"> <widget class="QPushButton" name="realTimeDataBtn">
<property name="enabled"> <property name="enabled">
<bool>true</bool> <bool>false</bool>
</property> </property>
<property name="geometry"> <property name="geometry">
<rect> <rect>
@ -979,7 +979,7 @@
<zorder>Btn_Cursor</zorder> <zorder>Btn_Cursor</zorder>
<zorder>Btn_Zoom</zorder> <zorder>Btn_Zoom</zorder>
<zorder>line_5</zorder> <zorder>line_5</zorder>
<zorder>Btn_ZoomMenu</zorder> <zorder>Btn_ScalesMenu</zorder>
<zorder>Btn_setScales</zorder> <zorder>Btn_setScales</zorder>
<zorder>line_6</zorder> <zorder>line_6</zorder>
<zorder>Btn_Annotation</zorder> <zorder>Btn_Annotation</zorder>

View File

@ -73,6 +73,18 @@ bool CreateReport::CreateWord()//创建word
m_wordOperate->SetText("趋势图"); m_wordOperate->SetText("趋势图");
if(_strImagePathList.at(i).contains("EnvChart")) if(_strImagePathList.at(i).contains("EnvChart"))
m_wordOperate->SetText("包络图"); m_wordOperate->SetText("包络图");
if(_strImagePathList.at(i).contains("Orbit"))
m_wordOperate->SetText("轴心轨迹图");
if(_strImagePathList.at(i).contains("WaterFall"))
m_wordOperate->SetText("瀑布图");
if(_strImagePathList.at(i).contains("Polar"))
m_wordOperate->SetText("极坐标图");
if(_strImagePathList.at(i).contains("ShaftCenterline"))
m_wordOperate->SetText("轴心位置图");
if(_strImagePathList.at(i).contains("Bode"))
m_wordOperate->SetText("伯德图");
if(_strImagePathList.at(i).contains("AllWave"))
m_wordOperate->SetText("全频图");
m_wordOperate->insertEnter(); m_wordOperate->insertEnter();
} }
DrawTable(); DrawTable();

View File

@ -4,7 +4,7 @@
#include <qvalidator.h> #include <qvalidator.h>
#include "msgbox.h" #include "msgbox.h"
FilterForm::FilterForm(QWidget *parent) : FilterForm::FilterForm(QString strFilter, QWidget *parent) :
BaseWgt(parent), BaseWgt(parent),
ui(new Ui::FilterForm) ui(new Ui::FilterForm)
{ {
@ -17,6 +17,10 @@ FilterForm::FilterForm(QWidget *parent) :
QRegExpValidator *validator = new QRegExpValidator(rx, this); QRegExpValidator *validator = new QRegExpValidator(rx, this);
ui->lineEdit->setValidator(validator); ui->lineEdit->setValidator(validator);
ui->lineEdit_2->setValidator(validator); ui->lineEdit_2->setValidator(validator);
QStringList strList = strFilter.split(",");
ui->lineEdit->setText(strList[0]);
ui->lineEdit_2->setText(strList[1]);
} }
FilterForm::~FilterForm() FilterForm::~FilterForm()

View File

@ -14,7 +14,7 @@ class FilterForm : public BaseWgt
Q_OBJECT Q_OBJECT
public: public:
explicit FilterForm(QWidget *parent = nullptr); explicit FilterForm(QString strFilter,QWidget *parent = nullptr);
~FilterForm(); ~FilterForm();
private: private:

View File

@ -130,6 +130,7 @@ void MainWidget::InitSignalandSlot()
connect(ui->modelBtn_5, SIGNAL(clicked()), this, SLOT(BodePlotSlot())); connect(ui->modelBtn_5, SIGNAL(clicked()), this, SLOT(BodePlotSlot()));
connect(ui->modelBtn_6, SIGNAL(clicked()), this, SLOT(ShaftCenterlinePlotSlot())); connect(ui->modelBtn_6, SIGNAL(clicked()), this, SLOT(ShaftCenterlinePlotSlot()));
connect(ui->modelBtn_12, SIGNAL(clicked()), this, SLOT(View3D())); connect(ui->modelBtn_12, SIGNAL(clicked()), this, SLOT(View3D()));
connect(ui->modelBtn_TimeWave, SIGNAL(clicked()), this, SLOT(TimeWave()));
connect(ui->pushButton_5, SIGNAL(clicked()), this, SLOT(Dat2Csv())); connect(ui->pushButton_5, SIGNAL(clicked()), this, SLOT(Dat2Csv()));
connect(ui->refreshBtn, SIGNAL(clicked()), this, SLOT(RefreshBtnSlot()));//刷新终端列表 connect(ui->refreshBtn, SIGNAL(clicked()), this, SLOT(RefreshBtnSlot()));//刷新终端列表
@ -248,6 +249,11 @@ void MainWidget::SearchSlot(QString strIP,bool AutoSearch)
} }
void MainWidget::RefreshBtnSlot() void MainWidget::RefreshBtnSlot()
{ {
ui->refreshBtn->setEnabled(false);
QTimer::singleShot(1000, this, [=]() {
ui->refreshBtn->setEnabled(true);
});
ui->treeWidget->clear(); ui->treeWidget->clear();
InitDevList(); InitDevList();
/*QString tablename = "t_Device"; /*QString tablename = "t_Device";
@ -631,7 +637,6 @@ void MainWidget::addChildItem(QTreeWidgetItem *pDataItem,QTreeWidgetItem *pNoIte
else if ("manu" == strFlag) else if ("manu" == strFlag)
{ {
pManulItem = pItem; pManulItem = pItem;
} }
} }
@ -687,7 +692,7 @@ void MainWidget::addChildItem(QTreeWidgetItem *pDataItem,QTreeWidgetItem *pNoIte
QIcon icon(":/images/images/imgTreeIcon/remove6.png"); QIcon icon(":/images/images/imgTreeIcon/remove6.png");
pNewItem->setIcon(0, icon); pNewItem->setIcon(0, icon);
pNewItem->setData(0,FILE_ROLE,0); pNewItem->setData(0,FILE_ROLE,0);
pSizeItem->addChild(pNewItem); pTimeItem->addChild(pNewItem);
}else{ }else{
QIcon icon(":/images/images/imgTreeIcon/remove2.png"); QIcon icon(":/images/images/imgTreeIcon/remove2.png");
pNewItem->setIcon(0, icon); pNewItem->setIcon(0, icon);
@ -696,16 +701,17 @@ void MainWidget::addChildItem(QTreeWidgetItem *pDataItem,QTreeWidgetItem *pNoIte
} }
} }
else if (sfileName.contains("DELTA_EU") || sfileName.contains("DELTA_SPPEED")) else if (sfileName.contains("DELTA_EU") || sfileName.contains("DELTA_SPEED"))
{ {
datpath = QCoreApplication::applicationDirPath() + "\\Dat\\" + strNo + "\\" + "change" + "\\"; datpath = QCoreApplication::applicationDirPath() + "\\Dat\\" + strNo + "\\" + "change" + "\\";
filename = datpath + sfileName; filename = datpath + sfileName;
QFileInfo file(filename); QFileInfo file(filename);
qDebug() << filename << endl;
if(file.exists()){ if(file.exists()){
QIcon icon(":/images/images/imgTreeIcon/remove6.png"); QIcon icon(":/images/images/imgTreeIcon/remove6.png");
pNewItem->setIcon(0, icon); pNewItem->setIcon(0, icon);
pNewItem->setData(0,FILE_ROLE,0); pNewItem->setData(0,FILE_ROLE,0);
pSizeItem->addChild(pNewItem); pChangeItem->addChild(pNewItem);
}else{ }else{
QIcon icon(":/images/images/imgTreeIcon/remove2.png"); QIcon icon(":/images/images/imgTreeIcon/remove2.png");
pNewItem->setIcon(0, icon); pNewItem->setIcon(0, icon);
@ -1028,7 +1034,7 @@ void MainWidget::OutPDF(QStringList strResult,QString filePath)
break; break;
case FormType::FrequencyDomainPlot: case FormType::FrequencyDomainPlot:
pPdfPainter->setPen(QColor(0,0,0)); pPdfPainter->setPen(QColor(0,0,0));
pPdfPainter->drawText(iLeft+290 + i * 610,iTop+600,""); pPdfPainter->drawText(iLeft+290 + i * 610,iTop+600,"");
break; break;
case FormType::EnvChartPlot: case FormType::EnvChartPlot:
pPdfPainter->setPen(QColor(0,0,0)); pPdfPainter->setPen(QColor(0,0,0));
@ -1162,7 +1168,8 @@ void MainWidget::ItemCheckStateSlot(QString strID, bool bChecked)
if(pChild->GetFormType() == FrequencyDomainPlot || pChild->GetFormType() == TimeDomainPlot if(pChild->GetFormType() == FrequencyDomainPlot || pChild->GetFormType() == TimeDomainPlot
|| pChild->GetFormType() == EnvChartPlot || pChild->GetFormType() == SpecChartPlot || pChild->GetFormType() == EnvChartPlot || pChild->GetFormType() == SpecChartPlot
|| pChild->GetFormType() == TrendChartPlot || pChild->GetFormType() == WaterFallPlot) || pChild->GetFormType() == TrendChartPlot || pChild->GetFormType() == WaterFallPlot
|| pChild->GetFormType() == TimeWavePlot)
{//频域图,时域图,包络图,频谱图 {//频域图,时域图,包络图,频谱图
QString strChannelID = strID; QString strChannelID = strID;
QMap<QString,QVector<WAVE_DATA>>::Iterator iter = mapWaveData.begin(); QMap<QString,QVector<WAVE_DATA>>::Iterator iter = mapWaveData.begin();
@ -1217,23 +1224,27 @@ void MainWidget::ItemCheckStateSlot(QString strID, bool bChecked)
QMap<QString,QVector<WAVE_DATA>>::Iterator iter = mapWaveData.begin(); QMap<QString,QVector<WAVE_DATA>>::Iterator iter = mapWaveData.begin();
for (; iter != mapWaveData.end(); ++iter){ for (; iter != mapWaveData.end(); ++iter){
if((iter.key() == strChannelID)){ if((iter.key() == strChannelID)){
qDebug() << strChannelID << endl;
pChild->mapBodeData.insert(strID,iter.value()); pChild->mapBodeData.insert(strID,iter.value());
qDebug() << pChild->mapBodeData.size() << endl;
if(pChild->mapBodeData.size() < 2){ if(pChild->mapBodeData.size() < 2){
QString ChannelID = iter.value().at(0).speedRefChannelId; QString ChannelID = iter.value().at(0).speedRefChannelId;
qDebug() << "speedRefChannelId" <<ChannelID << endl;
if(ChannelID == "NONE" || ChannelID == ""){ if(ChannelID == "NONE" || ChannelID == ""){
MyMsgBox(QMessageBox::Warning,"警告","当前文件中没有绑定转速通道,请手动选择另一个通道"); //MyMsgBox(QMessageBox::Warning,"警告","当前文件中没有绑定转速通道,请手动选择另一个通道");
//return; return;
}else{ }else{
pChild->mapBodeData.insert(strID,mapWaveData[ChannelID]); pChild->mapBodeData.insert(strID,mapWaveData[ChannelID]);
pChild->AddBodeSeries(strChannelID, iter.value(),mapWaveData[ChannelID]); pChild->AddBodeSeries(strChannelID, iter.value(),mapWaveData[ChannelID]);
return; return;
} }
}else{ }else{
qDebug() << 2 << strChannelID << endl;
QVector<WAVE_DATA> waveSpeedData; //转速 QVector<WAVE_DATA> waveSpeedData; //转速
QVector<WAVE_DATA> waveVibrateData; //加速度 QVector<WAVE_DATA> waveVibrateData; //加速度
QMap<QString,QVector<WAVE_DATA>>::Iterator iter = pChild->mapBodeData.begin(); QMap<QString,QVector<WAVE_DATA>>::Iterator iter = pChild->mapBodeData.begin();
for (;iter != pChild->mapBodeData.end() ; iter++) { for (;iter != pChild->mapBodeData.end() ; iter++) {
qDebug() << iter.value()[0].sensorType << endl;
if(iter.value()[0].sensorType != "ACCELEROMETER" && iter.value()[0].sensorType != "TACHOMETER"){ if(iter.value()[0].sensorType != "ACCELEROMETER" && iter.value()[0].sensorType != "TACHOMETER"){
MyMsgBox(QMessageBox::Warning,"警告","请选择转速和振动通道进行伯德图分析"); MyMsgBox(QMessageBox::Warning,"警告","请选择转速和振动通道进行伯德图分析");
return; return;
@ -1257,7 +1268,7 @@ void MainWidget::ItemCheckStateSlot(QString strID, bool bChecked)
QString ChannelID = iter.value().at(0).pairChannelID; QString ChannelID = iter.value().at(0).pairChannelID;
QString ChannelType = iter.value().at(0).sensorType; QString ChannelType = iter.value().at(0).sensorType;
if((ChannelType != "PROXIMETER") /*&& (ChannelID == "NONE" || ChannelID == "")*/){ if((ChannelType != "PROXIMETER") /*&& (ChannelID == "NONE" || ChannelID == "")*/){
MyMsgBox(QMessageBox::Warning,"警告","请选择径向位移通道"); //MyMsgBox(QMessageBox::Warning,"警告","请选择径向位移通道");
return; return;
} }
pChild->AddShaftCenterlineSeries(strChannelID, iter.value(),mapWaveData[ChannelID]); pChild->AddShaftCenterlineSeries(strChannelID, iter.value(),mapWaveData[ChannelID]);
@ -1276,7 +1287,7 @@ void MainWidget::ItemCheckStateSlot(QString strID, bool bChecked)
if(strChannelType != "PROXIMETER") if(strChannelType != "PROXIMETER")
return; return;
if(speedChannelID == "NONE" || speedChannelID == ""){ if(speedChannelID == "NONE" || speedChannelID == ""){
MyMsgBox(QMessageBox::Warning,"警告","当前文件中没有转速通道数据"); //MyMsgBox(QMessageBox::Warning,"警告","当前文件中没有转速通道数据");
return; return;
} }
@ -1330,7 +1341,11 @@ void MainWidget::TrendChartPlotSlot()
MyMsgBox(QMessageBox::Warning,"警告","请先打开数据文件!"); MyMsgBox(QMessageBox::Warning,"警告","请先打开数据文件!");
return; return;
} }
ChildForm *pChild = new ChildForm(FormType::TrendChartPlot,tr("趋势图"),&m_DeviceInfo,this); if( ui->tabWidget->count() == 10){
MyMsgBox(QMessageBox::Warning,"警告","最大支持打开10张图谱");
return;
}
ChildForm *pChild = new ChildForm(FormType::TrendChartPlot,tr("趋势图"),&m_DeviceInfo,m_iCurCount-1,this);
pChild->setCloseBtnVisible(true); pChild->setCloseBtnVisible(true);
pChild->hideTopWgt(); pChild->hideTopWgt();
pChild->SetName(tr("趋势图")); pChild->SetName(tr("趋势图"));
@ -1379,7 +1394,12 @@ void MainWidget::TimeDomainPlotSlot()
MyMsgBox(QMessageBox::Warning,"警告","请先打开数据文件!"); MyMsgBox(QMessageBox::Warning,"警告","请先打开数据文件!");
return; return;
} }
ChildForm *pChild = new ChildForm(FormType::TimeDomainPlot,tr("时域图"),&m_DeviceInfo,this); if( ui->tabWidget->count() == 10){
MyMsgBox(QMessageBox::Warning,"警告","最大支持打开10张图谱");
return;
}
ChildForm *pChild = new ChildForm(FormType::TimeDomainPlot,tr("时域图"),&m_DeviceInfo,m_iCurCount-1,this);
pChild->setCloseBtnVisible(true); pChild->setCloseBtnVisible(true);
pChild->hideTopWgt(); pChild->hideTopWgt();
@ -1430,7 +1450,11 @@ void MainWidget::FrequencyDomainPlotSlot()
MyMsgBox(QMessageBox::Warning,"警告","请先打开数据文件!"); MyMsgBox(QMessageBox::Warning,"警告","请先打开数据文件!");
return; return;
} }
ChildForm *pChild = new ChildForm(FormType::FrequencyDomainPlot,tr("频域图"),&m_DeviceInfo,this); if( ui->tabWidget->count() == 10){
MyMsgBox(QMessageBox::Warning,"警告","最大支持打开10张图谱");
return;
}
ChildForm *pChild = new ChildForm(FormType::FrequencyDomainPlot,tr("频域图"),&m_DeviceInfo,m_iCurCount-1,this);
pChild->setCloseBtnVisible(true); pChild->setCloseBtnVisible(true);
pChild->hideTopWgt(); pChild->hideTopWgt();
pChild->SetName(tr("频域图")); pChild->SetName(tr("频域图"));
@ -1478,7 +1502,11 @@ void MainWidget::EnvelopeAnalysisPlotSlot()
MyMsgBox(QMessageBox::Warning,"警告","请先打开数据文件!"); MyMsgBox(QMessageBox::Warning,"警告","请先打开数据文件!");
return; return;
} }
ChildForm *pChild = new ChildForm(FormType::EnvChartPlot,tr("包络图"),&m_DeviceInfo,this); if( ui->tabWidget->count() == 10){
MyMsgBox(QMessageBox::Warning,"警告","最大支持打开10张图谱");
return;
}
ChildForm *pChild = new ChildForm(FormType::EnvChartPlot,tr("包络图"),&m_DeviceInfo,m_iCurCount-1,this);
pChild->setCloseBtnVisible(true); pChild->setCloseBtnVisible(true);
pChild->hideTopWgt(); pChild->hideTopWgt();
pChild->SetName(tr("包络图")); pChild->SetName(tr("包络图"));
@ -1526,7 +1554,11 @@ void MainWidget::WaterFallPlotSlot()
MyMsgBox(QMessageBox::Warning,"警告","请先打开数据文件!"); MyMsgBox(QMessageBox::Warning,"警告","请先打开数据文件!");
return; return;
} }
ChildForm *pChild = new ChildForm(FormType::WaterFallPlot,tr("瀑布图"),&m_DeviceInfo,this); if( ui->tabWidget->count() == 10){
MyMsgBox(QMessageBox::Warning,"警告","最大支持打开10张图谱");
return;
}
ChildForm *pChild = new ChildForm(FormType::WaterFallPlot,tr("瀑布图"),&m_DeviceInfo,m_iCurCount-1,this);
pChild->setCloseBtnVisible(true); pChild->setCloseBtnVisible(true);
pChild->hideTopWgt(); pChild->hideTopWgt();
pChild->SetName(tr("瀑布图")); pChild->SetName(tr("瀑布图"));
@ -1583,7 +1615,11 @@ void MainWidget::BodePlotSlot()
MyMsgBox(QMessageBox::Warning,"警告","请先打开数据文件!"); MyMsgBox(QMessageBox::Warning,"警告","请先打开数据文件!");
return; return;
} }
ChildForm *pChild = new ChildForm(FormType::BodePlot,tr("Bode"),&m_DeviceInfo,this); if( ui->tabWidget->count() == 10){
MyMsgBox(QMessageBox::Warning,"警告","最大支持打开10张图谱");
return;
}
ChildForm *pChild = new ChildForm(FormType::BodePlot,tr("伯德图"),&m_DeviceInfo,m_iCurCount-1,this);
pChild->setCloseBtnVisible(true); pChild->setCloseBtnVisible(true);
pChild->hideTopWgt(); pChild->hideTopWgt();
pChild->SetName(tr("伯德图")); pChild->SetName(tr("伯德图"));
@ -1629,7 +1665,11 @@ void MainWidget::OrbitPlotSlot()
MyMsgBox(QMessageBox::Warning,"警告","请先打开数据文件!"); MyMsgBox(QMessageBox::Warning,"警告","请先打开数据文件!");
return; return;
} }
ChildForm *pChild = new ChildForm(FormType::OrbitPlot,tr("轴心轨迹图"),&m_DeviceInfo,this); if( ui->tabWidget->count() == 10){
MyMsgBox(QMessageBox::Warning,"警告","最大支持打开10张图谱");
return;
}
ChildForm *pChild = new ChildForm(FormType::OrbitPlot,tr("轴心轨迹图"),&m_DeviceInfo,m_iCurCount-1,this);
pChild->setCloseBtnVisible(true); pChild->setCloseBtnVisible(true);
pChild->hideTopWgt(); pChild->hideTopWgt();
pChild->SetName(tr("轴心轨迹图")); pChild->SetName(tr("轴心轨迹图"));
@ -1677,7 +1717,11 @@ void MainWidget::ShaftCenterlinePlotSlot()
MyMsgBox(QMessageBox::Warning,"警告","请先打开数据文件!"); MyMsgBox(QMessageBox::Warning,"警告","请先打开数据文件!");
return; return;
} }
ChildForm *pChild = new ChildForm(FormType::ShaftCenterline,tr("轴心位置图"),&m_DeviceInfo,this); if( ui->tabWidget->count() == 10){
MyMsgBox(QMessageBox::Warning,"警告","最大支持打开10张图谱");
return;
}
ChildForm *pChild = new ChildForm(FormType::ShaftCenterline,tr("轴心位置图"),&m_DeviceInfo,m_iCurCount-1,this);
pChild->setCloseBtnVisible(true); pChild->setCloseBtnVisible(true);
pChild->hideTopWgt(); pChild->hideTopWgt();
pChild->SetName(tr("轴心位置图")); pChild->SetName(tr("轴心位置图"));
@ -1721,7 +1765,15 @@ void MainWidget::ShaftCenterlinePlotSlot()
} }
void MainWidget::PolarplotSlot() void MainWidget::PolarplotSlot()
{ {
ChildForm *pChild = new ChildForm(FormType::PolarPlot,tr("极坐标"),&m_DeviceInfo,this); if(mapWaveData.size() < 1){
MyMsgBox(QMessageBox::Warning,"警告","请先打开数据文件!");
return;
}
if( ui->tabWidget->count() == 10){
MyMsgBox(QMessageBox::Warning,"警告","最大支持打开10张图谱");
return;
}
ChildForm *pChild = new ChildForm(FormType::PolarPlot,tr("极坐标"),&m_DeviceInfo,m_iCurCount-1,this);
pChild->setCloseBtnVisible(true); pChild->setCloseBtnVisible(true);
pChild->hideTopWgt(); pChild->hideTopWgt();
pChild->SetName(tr("极坐标")); pChild->SetName(tr("极坐标"));
@ -1763,6 +1815,58 @@ void MainWidget::PolarplotSlot()
ui->tabWidget->setCurrentWidget(pChild); ui->tabWidget->setCurrentWidget(pChild);
} }
void MainWidget::TimeWave()
{
if(mapWaveData.size() < 1){
MyMsgBox(QMessageBox::Warning,"警告","请先打开数据文件!");
return;
}
if( ui->tabWidget->count() == 10){
MyMsgBox(QMessageBox::Warning,"警告","最大支持打开10张图谱");
return;
}
ChildForm *pChild = new ChildForm(FormType::TimeWavePlot,tr("时域长波形"),&m_DeviceInfo,m_iCurCount-1,this);
pChild->setCloseBtnVisible(true);
pChild->hideTopWgt();
pChild->SetName(tr("时域长波形"));
pChild->SetFormType(FormType::TimeWavePlot);
QIcon icon(":/images/images/imgDatamodel/wave.png");
ui->tabWidget->addTab(pChild, icon, pChild->GetName());
//pChild->AddPolarPlotSeries();
QPushButton *pCustomButton = new QPushButton();
pCustomButton->setFixedSize(14, 14);
pCustomButton->setStyleSheet(" QPushButton { border-image:url(:/images/images/imgDatamodel/tabclose.png) 5; }\
QPushButton:hover { border-image:url(:/images/images/imgDatamodel/tabclose-h.png) 5; }\
QPushButton:pressed {border-image:url(:/images/images/imgDatamodel/tabclose-p.png) 5; }");
((QTabBar*)(ui->tabWidget->tabBar()))->setTabButton(ui->tabWidget->indexOf(pChild),QTabBar::RightSide,pCustomButton);
connect(pCustomButton, SIGNAL(clicked()), this, SLOT(TabBarCloseSlot()));
m_mapTabBtnToForm[pCustomButton] = pChild;
connect(pChild, SIGNAL(OutSig()), this, SLOT(OutSlot()));
connect(pChild, SIGNAL(ReturnSig()), this, SLOT(ReturnSlot()));
connect(pChild, SIGNAL(ItemCheckStateSignal(QString, bool)), this, SLOT(ItemCheckStateSlot(QString, bool)));
// connect(pChild, &ChildForm::sigRealTimeData, this, &MainWidget::slotRealTimeData);
m_vecChildForm.push_back(pChild);
QStringList strIDList,strChannleType,strChannleNameList;
// QVector<WAVE_DATA>::Iterator iter = m_vecPushData.begin();
QMap<QString,QVector<WAVE_DATA>>::Iterator iter = mapWaveData.begin();
for (; iter != mapWaveData.end(); iter ++)
{
if(!strIDList.contains(iter.key()))
strIDList.push_back(iter.key());
strChannleType.push_back(iter.value()[0].sensorType);
strChannleNameList.push_back(iter.value()[0].channelName);
}
if(mapWaveData.size() > 8)
pChild->SetDataIDs(strIDList, tr("Data Watch "),strChannleType,strChannleNameList);
else
pChild->SetDataIDs(strIDList, tr("Data Watch "),strChannleType,strChannleNameList);
ui->tabWidget->setCurrentWidget(pChild);
}
void MainWidget::View3D() void MainWidget::View3D()
{ {
/* Child3DFrom *pChild = new Child3DFrom(this); /* Child3DFrom *pChild = new Child3DFrom(this);
@ -1776,7 +1880,7 @@ void MainWidget::Dat2Csv()
MyMsgBox(QMessageBox::Warning,"警告","请先打开数据文件!"); MyMsgBox(QMessageBox::Warning,"警告","请先打开数据文件!");
return; return;
} }
QString dirpath = QFileDialog::getExistingDirectory(this, QStringLiteral("选择目录"), "./", QFileDialog::ShowDirsOnly); QString dirpath = QFileDialog::getExistingDirectory(this, QStringLiteral("请选择保存CSV文件路径"), "./", QFileDialog::ShowDirsOnly);
if(dirpath.isEmpty()) return; if(dirpath.isEmpty()) return;
if(mapWaveData.size() < 1){ if(mapWaveData.size() < 1){
@ -1816,7 +1920,8 @@ void MainWidget::Dat2Csv()
} }
QDateTime time = QDateTime::fromTime_t(m_strCollectTime.toUInt()); QDateTime time = QDateTime::fromTime_t(m_strCollectTime.toUInt());
QString DevicemCollectTime = time.toString("yyyy-MM-dd_hhmmss"); QString DevicemCollectTime = time.toString("yyyy-MM-dd_hhmmss");
QString filename = QString(dirName + "%1-%2-%3.csv").arg(iter.key()).arg(iter.value().at(0).sensorType).arg(DevicemCollectTime); QString filename = QString(dirName + "%1-%2-%3-%4.csv").arg(iter.key()).arg(iter.value().at(0).sensorType)\
.arg(iter.value().at(0).SamleRate).arg(DevicemCollectTime);
QFile file(filename); QFile file(filename);
qDebug()<< "filename = "<<filename << endl; qDebug()<< "filename = "<<filename << endl;
if (!file.open(QIODevice::WriteOnly)) if (!file.open(QIODevice::WriteOnly))
@ -2111,6 +2216,7 @@ void MainWidget::ReadDatData(QString strPath,QString strFileName,QString strIP)
WAVE_INFO waveInfo; WAVE_INFO waveInfo;
channelEnabled[i] = array.at(i)["isEnable"].toInt(); channelEnabled[i] = array.at(i)["isEnable"].toInt();
channelwork[i] = array.at(i)["isWork"].toInt(); channelwork[i] = array.at(i)["isWork"].toInt();
//qDebug() << channelEnabled[i] << channelwork[i] << array.at(i)["channelId"].toString() << endl;
if(channelEnabled[i] && channelwork[i]){ if(channelEnabled[i] && channelwork[i]){
waveInfo.channelId = array.at(i)["channelId"].toString(); waveInfo.channelId = array.at(i)["channelId"].toString();
waveInfo.channelType = array.at(i)["sensorType"].toString(); waveInfo.channelType = array.at(i)["sensorType"].toString();
@ -2134,10 +2240,11 @@ void MainWidget::ReadDatData(QString strPath,QString strFileName,QString strIP)
waveInfo.iKeyCount = array.at(i)["tachTriggerPerRev"].toInt(); waveInfo.iKeyCount = array.at(i)["tachTriggerPerRev"].toInt();
waveInfo.iTriggerValue = array.at(i)["tachTriggerVoltageLevel"].toDouble(); waveInfo.iTriggerValue = array.at(i)["tachTriggerVoltageLevel"].toDouble();
waveInfo.iHysteresis = array.at(i)["tachTriggerHysteresis"].toDouble(); waveInfo.iHysteresis = array.at(i)["tachTriggerHysteresis"].toDouble();
qDebug() <<waveInfo.channelId<< "iKeyCount" << waveInfo.iKeyCount << "iTriggerValue" << waveInfo.iTriggerValue << "iHysteresis" << waveInfo.iHysteresis << endl;
m_vecWaveInfo.push_back(waveInfo); m_vecWaveInfo.push_back(waveInfo);
channels ++ ; channels ++ ;
qDebug() << waveInfo.sensorGapVoltage << waveInfo.sensorSensitivity << endl; qDebug() << waveInfo.sensorGapVoltage << waveInfo.sensorSensitivity << endl;
qDebug() << waveInfo.channelId << waveInfo.channelType <<waveInfo.channelName << waveInfo.pairChannelID << waveInfo.sensorEngineeringUnit << waveInfo.speedRefChannelId<<endl; qDebug() << waveInfo.channelId << waveInfo.channelType <<waveInfo.channelName << waveInfo.pairChannelID << waveInfo.sensorEngineeringUnit << waveInfo.speedRefChannelId << waveInfo.iTriggerValue<<endl;
} }
} }
} }
@ -2281,7 +2388,7 @@ void MainWidget::ReadDatData(QString strPath,QString strFileName,QString strIP)
} }
if(iter->sensorType == "TACHOMETER"){ if(iter->sensorType == "TACHOMETER"){
wave.TimeStamp = m_WaveChnData[i].TimeStamp; wave.TimeStamp = m_WaveChnData[i].TimeStamp;
qDebug()<< "iCount" <<iCount<<endl; //qDebug()<< "iCount" <<iCount<<endl;
ii ++; ii ++;
} }
@ -2347,19 +2454,18 @@ void MainWidget::ReadDatData(QString strPath,QString strFileName,QString strIP)
wave.linColor = Qt::darkYellow ; wave.linColor = Qt::darkYellow ;
break; break;
case 13: case 13:
wave.linColor = Qt::gray ; wave.linColor = QColor(153, 51, 250);
break; break;
case 14: case 14:
wave.linColor = QColor(255, 218, 185) ; wave.linColor = QColor(255, 218, 185) ;
break; break;
case 15: case 15:
wave.linColor = QColor(255, 20, 147) ; wave.linColor = QColor(0,199,140) ;
break; break;
default: default:
break; break;
} }
m_vecPushData1.push_back(wave); m_vecPushData1.push_back(wave);
//qDebug()<<"m_vecPushData1"<<m_vecPushData1.size()<<endl;
} }
} }
linecolor++; linecolor++;
@ -2838,6 +2944,12 @@ void MainWidget::EnableGraph(bool isOpen)
QPushButton:hover { border-image:url(:/images/images/imgDatamodel/M8-h.png) 1; }\ QPushButton:hover { border-image:url(:/images/images/imgDatamodel/M8-h.png) 1; }\
QPushButton:pressed {border-image:url(:/images/images/imgDatamodel/M8-p.png) 1; }\ QPushButton:pressed {border-image:url(:/images/images/imgDatamodel/M8-p.png) 1; }\
QPushButton:checked {border-image:url(:/images/images/imgDatamodel/M8-p.png) 1; }"); QPushButton:checked {border-image:url(:/images/images/imgDatamodel/M8-p.png) 1; }");
ui->modelBtn_TimeWave->setEnabled(false);
ui->modelBtn_TimeWave->setStyleSheet(" QPushButton { border-image:url(:/images/images/imgDatamodel/wave-p.png) 1; }\
QPushButton:hover { border-image:url(:/images/images/imgDatamodel/wave-h.png) 1; }\
QPushButton:pressed {border-image:url(:/images/images/imgDatamodel/wave-p.png) 1; }\
QPushButton:checked {border-image:url(:/images/images/imgDatamodel/wave-p.png) 1; }");
}else{ }else{
ui->modelBtn_TrendChart->setEnabled(true); ui->modelBtn_TrendChart->setEnabled(true);
ui->modelBtn_TrendChart->setStyleSheet(" QPushButton { border-image:url(:/images/images/imgDatamodel/M1.png) 1; }\ ui->modelBtn_TrendChart->setStyleSheet(" QPushButton { border-image:url(:/images/images/imgDatamodel/M1.png) 1; }\
@ -2898,6 +3010,12 @@ void MainWidget::EnableGraph(bool isOpen)
QPushButton:hover { border-image:url(:/images/images/imgDatamodel/M8-h.png) 1; }\ QPushButton:hover { border-image:url(:/images/images/imgDatamodel/M8-h.png) 1; }\
QPushButton:pressed {border-image:url(:/images/images/imgDatamodel/M8-p.png) 1; }\ QPushButton:pressed {border-image:url(:/images/images/imgDatamodel/M8-p.png) 1; }\
QPushButton:checked {border-image:url(:/images/images/imgDatamodel/M8-p.png) 1; }"); QPushButton:checked {border-image:url(:/images/images/imgDatamodel/M8-p.png) 1; }");
ui->modelBtn_TimeWave->setEnabled(true);
ui->modelBtn_TimeWave->setStyleSheet(" QPushButton { border-image:url(:/images/images/imgDatamodel/wave.png) 1; }\
QPushButton:hover { border-image:url(:/images/images/imgDatamodel/wave-h.png) 1; }\
QPushButton:pressed {border-image:url(:/images/images/imgDatamodel/wave-p.png) 1; }\
QPushButton:checked {border-image:url(:/images/images/imgDatamodel/wave-p.png) 1; }");
} }
// ui->modelBtn_11->setEnabled(true); // ui->modelBtn_11->setEnabled(true);

View File

@ -56,6 +56,7 @@ public slots:
void PolarplotSlot(); void PolarplotSlot();
void BodePlotSlot(); void BodePlotSlot();
void ShaftCenterlinePlotSlot(); void ShaftCenterlinePlotSlot();
void TimeWave();
void OutSlot(); void OutSlot();
void ReturnSlot(); void ReturnSlot();
void View3D(); void View3D();

View File

@ -79,6 +79,7 @@
#modelBtn_TrendChart{border-image:url(:/images/images/imgDatamodel/M1-p.png);} #modelBtn_TrendChart{border-image:url(:/images/images/imgDatamodel/M1-p.png);}
#modelBtn_TimeDomain{border-image:url(:/images/images/imgDatamodel/M2-p.png);} #modelBtn_TimeDomain{border-image:url(:/images/images/imgDatamodel/M2-p.png);}
#modelBtn_TimeWave{border-image:url(:/images/images/imgDatamodel/wave-p.png);}
#modelBtn_FrequencyDomain{border-image:url(:/images/images/imgDatamodel/M3-p.png);} #modelBtn_FrequencyDomain{border-image:url(:/images/images/imgDatamodel/M3-p.png);}
#modelBtn_4{border-image:url(:/images/images/imgDatamodel/M4-p.png);} #modelBtn_4{border-image:url(:/images/images/imgDatamodel/M4-p.png);}
#modelBtn_5{border-image:url(:/images/images/imgDatamodel/M5-p.png);} #modelBtn_5{border-image:url(:/images/images/imgDatamodel/M5-p.png);}
@ -92,6 +93,7 @@
#modelBtn_TrendChart:hover{border-image:url(:/images/images/imgDatamodel/M1-h.png);} #modelBtn_TrendChart:hover{border-image:url(:/images/images/imgDatamodel/M1-h.png);}
#modelBtn_TimeDomain:hover{border-image:url(:/images/images/imgDatamodel/M2-h.png);} #modelBtn_TimeDomain:hover{border-image:url(:/images/images/imgDatamodel/M2-h.png);}
#modelBtn_TimeWave:hover{border-image:url(:/images/images/imgDatamodel/wave-h.png);}
#modelBtn_FrequencyDomain:hover{border-image:url(:/images/images/imgDatamodel/M3-h.png);} #modelBtn_FrequencyDomain:hover{border-image:url(:/images/images/imgDatamodel/M3-h.png);}
#modelBtn_4:hover{border-image:url(:/images/images/imgDatamodel/M4-h.png);} #modelBtn_4:hover{border-image:url(:/images/images/imgDatamodel/M4-h.png);}
#modelBtn_5:hover{border-image:url(:/images/images/imgDatamodel/M5-h.png);} #modelBtn_5:hover{border-image:url(:/images/images/imgDatamodel/M5-h.png);}
@ -105,6 +107,7 @@
#modelBtn_TrendChart:pressed{border-image:url(:/images/images/imgDatamodel/M1-p.png);} #modelBtn_TrendChart:pressed{border-image:url(:/images/images/imgDatamodel/M1-p.png);}
#modelBtn_TimeDomain:pressed{border-image:url(:/images/images/imgDatamodel/M2-p.png);} #modelBtn_TimeDomain:pressed{border-image:url(:/images/images/imgDatamodel/M2-p.png);}
#modelBtn_TimeWave:pressed{border-image:url(:/images/images/imgDatamodel/wave-p.png);}
#modelBtn_FrequencyDomain:pressed{border-image:url(:/images/images/imgDatamodel/M3-p.png);} #modelBtn_FrequencyDomain:pressed{border-image:url(:/images/images/imgDatamodel/M3-p.png);}
#modelBtn_4:pressed{border-image:url(:/images/images/imgDatamodel/M4-p.png);} #modelBtn_4:pressed{border-image:url(:/images/images/imgDatamodel/M4-p.png);}
#modelBtn_5:pressed{border-image:url(:/images/images/imgDatamodel/M5-p.png);} #modelBtn_5:pressed{border-image:url(:/images/images/imgDatamodel/M5-p.png);}
@ -289,28 +292,6 @@
</property> </property>
</widget> </widget>
</item> </item>
<item>
<widget class="QPushButton" name="pushButton_6">
<property name="minimumSize">
<size>
<width>18</width>
<height>18</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>18</width>
<height>18</height>
</size>
</property>
<property name="toolTip">
<string>退出当前DAT文件</string>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item> <item>
<widget class="QPushButton" name="ReportButton"> <widget class="QPushButton" name="ReportButton">
<property name="minimumSize"> <property name="minimumSize">
@ -333,6 +314,28 @@
</property> </property>
</widget> </widget>
</item> </item>
<item>
<widget class="QPushButton" name="pushButton_6">
<property name="minimumSize">
<size>
<width>18</width>
<height>18</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>18</width>
<height>18</height>
</size>
</property>
<property name="toolTip">
<string>退出当前DAT文件</string>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item> <item>
<widget class="QPushButton" name="Btn_Setting"> <widget class="QPushButton" name="Btn_Setting">
<property name="enabled"> <property name="enabled">
@ -668,6 +671,31 @@
</property> </property>
</widget> </widget>
</item> </item>
<item>
<widget class="QPushButton" name="modelBtn_TimeWave">
<property name="enabled">
<bool>false</bool>
</property>
<property name="minimumSize">
<size>
<width>36</width>
<height>36</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>36</width>
<height>36</height>
</size>
</property>
<property name="toolTip">
<string>时域长波形</string>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item> <item>
<widget class="QPushButton" name="modelBtn_spec"> <widget class="QPushButton" name="modelBtn_spec">
<property name="enabled"> <property name="enabled">

View File

@ -25,9 +25,9 @@
<widget class="QLineEdit" name="lineEdit"> <widget class="QLineEdit" name="lineEdit">
<property name="geometry"> <property name="geometry">
<rect> <rect>
<x>170</x> <x>150</x>
<y>50</y> <y>50</y>
<width>51</width> <width>91</width>
<height>31</height> <height>31</height>
</rect> </rect>
</property> </property>
@ -41,7 +41,7 @@ text-align:center;
<widget class="QLabel" name="label"> <widget class="QLabel" name="label">
<property name="geometry"> <property name="geometry">
<rect> <rect>
<x>113</x> <x>93</x>
<y>50</y> <y>50</y>
<width>31</width> <width>31</width>
<height>31</height> <height>31</height>
@ -54,9 +54,9 @@ text-align:center;
<widget class="QLineEdit" name="lineEdit_2"> <widget class="QLineEdit" name="lineEdit_2">
<property name="geometry"> <property name="geometry">
<rect> <rect>
<x>300</x> <x>280</x>
<y>50</y> <y>50</y>
<width>51</width> <width>91</width>
<height>31</height> <height>31</height>
</rect> </rect>
</property> </property>
@ -70,10 +70,10 @@ text-align:center;
<widget class="QLabel" name="label_2"> <widget class="QLabel" name="label_2">
<property name="geometry"> <property name="geometry">
<rect> <rect>
<x>240</x> <x>250</x>
<y>60</y> <y>60</y>
<width>54</width> <width>21</width>
<height>12</height> <height>16</height>
</rect> </rect>
</property> </property>
<property name="text"> <property name="text">
@ -83,9 +83,9 @@ text-align:center;
<widget class="QLineEdit" name="lineEdit_3"> <widget class="QLineEdit" name="lineEdit_3">
<property name="geometry"> <property name="geometry">
<rect> <rect>
<x>170</x> <x>150</x>
<y>100</y> <y>100</y>
<width>51</width> <width>91</width>
<height>31</height> <height>31</height>
</rect> </rect>
</property> </property>
@ -99,7 +99,7 @@ text-align:center;
<widget class="QLabel" name="label_3"> <widget class="QLabel" name="label_3">
<property name="geometry"> <property name="geometry">
<rect> <rect>
<x>113</x> <x>93</x>
<y>100</y> <y>100</y>
<width>31</width> <width>31</width>
<height>31</height> <height>31</height>
@ -112,9 +112,9 @@ text-align:center;
<widget class="QLineEdit" name="lineEdit_4"> <widget class="QLineEdit" name="lineEdit_4">
<property name="geometry"> <property name="geometry">
<rect> <rect>
<x>300</x> <x>280</x>
<y>100</y> <y>100</y>
<width>51</width> <width>91</width>
<height>31</height> <height>31</height>
</rect> </rect>
</property> </property>
@ -128,10 +128,10 @@ text-align:center;
<widget class="QLabel" name="label_4"> <widget class="QLabel" name="label_4">
<property name="geometry"> <property name="geometry">
<rect> <rect>
<x>240</x> <x>250</x>
<y>110</y> <y>110</y>
<width>54</width> <width>21</width>
<height>12</height> <height>16</height>
</rect> </rect>
</property> </property>
<property name="text"> <property name="text">

View File

@ -3,7 +3,7 @@
#include "QMessageBox" #include "QMessageBox"
#include <qvalidator.h> #include <qvalidator.h>
SetScalesForm::SetScalesForm(QWidget *parent) : SetScalesForm::SetScalesForm(QString m_strSacles,QWidget *parent) :
BaseWgt(parent), BaseWgt(parent),
ui(new Ui::SetScalesForm) ui(new Ui::SetScalesForm)
{ {
@ -18,6 +18,11 @@ SetScalesForm::SetScalesForm(QWidget *parent) :
ui->lineEdit_2->setValidator(validator); ui->lineEdit_2->setValidator(validator);
ui->lineEdit_3->setValidator(validator); ui->lineEdit_3->setValidator(validator);
ui->lineEdit_4->setValidator(validator); ui->lineEdit_4->setValidator(validator);
QStringList strList = m_strSacles.split(",");
ui->lineEdit->setText(strList[0]);
ui->lineEdit_2->setText(strList[1]);
ui->lineEdit_3->setText(strList[2]);
ui->lineEdit_4->setText(strList[3]);
} }
SetScalesForm::~SetScalesForm() SetScalesForm::~SetScalesForm()

View File

@ -15,7 +15,7 @@ class SetScalesForm : public BaseWgt
Q_OBJECT Q_OBJECT
public: public:
explicit SetScalesForm(QWidget *parent = nullptr); explicit SetScalesForm(QString m_strSacles,QWidget *parent = nullptr);
~SetScalesForm(); ~SetScalesForm();
private: private:
Ui::SetScalesForm *ui; Ui::SetScalesForm *ui;

View File

@ -124,8 +124,8 @@ typedef struct{
double sensorSensitivity; double sensorSensitivity;
int iTrigger; int iTrigger;
int iKeyCount; int iKeyCount;
int iTriggerValue; double iTriggerValue;
int iHysteresis; double iHysteresis;
}WAVE_INFO; }WAVE_INFO;
typedef struct tag_DEVICE_INFO{ typedef struct tag_DEVICE_INFO{

Binary file not shown.

After

Width:  |  Height:  |  Size: 381 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 384 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 608 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 553 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 614 B

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 689 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 661 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 704 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

View File

@ -175,6 +175,9 @@
<file>images/imgModelAction/realTime-d.png</file> <file>images/imgModelAction/realTime-d.png</file>
<file>images/logo1.png</file> <file>images/logo1.png</file>
<file>images/loading.gif</file> <file>images/loading.gif</file>
<file>images/imgDatamodel/wave.png</file>
<file>images/imgDatamodel/wave-h.png</file>
<file>images/imgDatamodel/wave-p.png</file>
</qresource> </qresource>
<qresource prefix="/qss"> <qresource prefix="/qss">
<file>mainui.css</file> <file>mainui.css</file>