#include "tools_Index4.h" #include "ui_tools_Index4.h" tools_Index4::tools_Index4(QWidget *parent) : QWidget(parent), ui(new Ui::tools_Index4) { ui->setupUi(this); m_parent = parent; //检测文件夹,如果不存在,那么就新建一个,这里存着所有的qml文件 QDir *Dir = new QDir; if(!Dir->exists("./Init")) Dir->mkdir("./Init");//如果文件夹不存在就新建 //load qss QFile file(":/qss/tools_index4.qss"); file.open(QFile::ReadOnly); QTextStream filetext(&file); QString stylesheet = filetext.readAll(); this->setStyleSheet(stylesheet); file.close(); setWindowTitle(tr("Servos Inspector")); //setWindowFlags(Qt::Dialog); loadCommandJson("./Init/Init.json"); } tools_Index4::~tools_Index4() { delete ui; } void tools_Index4::closeEvent(QCloseEvent *event) { qDebug() << event; this->setParent(m_parent); setWindowFlags(Qt::Widget); this->setGeometry(m_parent->geometry()); //this->setGeometry(0,0,m_parent->geometry().width(),m_parent->geometry().height()); this->move(0,10); this->show(); setFloat(false); qDebug() << "DoubleClick" << event; event->ignore(); } void tools_Index4::mouseMoveEvent(QMouseEvent *event) { if(this->parent()) { this->setParent(nullptr); this->setWindowFlags(Qt::Dialog); this->move(0,10); this->show(); setFloat(true); } qDebug() << "Move" << event; } void tools_Index4::mouseReleaseEvent(QMouseEvent *event) { qDebug() << "clicked"; if (event->button() == Qt::MiddleButton) { } else if (event->button() == Qt::RightButton) { if(event->modifiers() == Qt::ControlModifier) { QFileDialog *dlg = new QFileDialog(); QString fileName = dlg->getOpenFileName(this, tr("Selete Init File..."), "./Init/", tr("Init file (*.json)")); if(!fileName.isEmpty()) { loadCommandJson(fileName); } } } } void tools_Index4::mouseDoubleClickEvent(QMouseEvent *event) { this->setParent(m_parent); setWindowFlags(Qt::Widget); this->setGeometry(m_parent->geometry()); //this->setGeometry(0,0,m_parent->geometry().width(),m_parent->geometry().height()); this->move(0,10); this->show(); setFloat(false); qDebug() << "DoubleClick" << event; } void tools_Index4::loadCommandJson(const QString& jsonFilename) { if (jsonFilename.isEmpty()) { return; } qDebug() << "Loading " << jsonFilename; QFile jsonFile(jsonFilename); if (!jsonFile.open(QIODevice::ReadOnly | QIODevice::Text)) { qWarning() << "Unable to open file" << jsonFilename << jsonFile.errorString(); return; } QByteArray bytes = jsonFile.readAll(); jsonFile.close(); QJsonParseError jsonParseError; QJsonDocument doc = QJsonDocument::fromJson(bytes, &jsonParseError); if (jsonParseError.error != QJsonParseError::NoError) { qWarning() << jsonFilename << "Unable to open json document" << jsonParseError.errorString(); return; } QJsonObject json = doc.object(); qDebug() << "command version :" << json.value("version").toInt(); QJsonValue jsonValue = json.value("ServoSetting"); if (!jsonValue.isObject()) { qWarning() << jsonFilename << "_CommandButtonJsonKey not object"; return; } QJsonObject infojson = jsonValue.toObject(); QJsonValue MaxValue = infojson.value("Max"); if (!MaxValue.isArray()) { qWarning() << jsonFilename << "_CommandButtonJsonKey not Array"; return; } Max = MaxValue.toArray(); QJsonValue MinValue = infojson.value("Min"); if (!MinValue.isArray()) { qWarning() << jsonFilename << "_CommandButtonJsonKey not Array"; return; } Min = MinValue.toArray(); /*qDebug() << Max << Min; */ //==========载入最大最小值 setRange(Min,Max); } void tools_Index4::setRange(QJsonArray min,QJsonArray max) { if(min.size() < 64) { qDebug() << "Error Min size less than 64"; return ; } if(max.size() < 64) { qDebug() << "Error Max size less than 64"; return ; } qDebug() << "min" << min; //setMIN ui->progressBar_0_1->setMinimum(min.at(0).toDouble()); ui->progressBar_0_2->setMinimum(min.at(1).toDouble()); ui->progressBar_0_3->setMinimum(min.at(2).toDouble()); ui->progressBar_0_4->setMinimum(min.at(3).toDouble()); ui->progressBar_0_5->setMinimum(min.at(4).toDouble()); ui->progressBar_0_6->setMinimum(min.at(5).toDouble()); ui->progressBar_0_7->setMinimum(min.at(6).toDouble()); ui->progressBar_0_8->setMinimum(min.at(7).toDouble()); ui->progressBar_0_9->setMinimum(min.at(8).toDouble()); ui->progressBar_0_10->setMinimum(min.at(9).toDouble()); ui->progressBar_0_11->setMinimum(min.at(10).toDouble()); ui->progressBar_0_12->setMinimum(min.at(11).toDouble()); ui->progressBar_0_13->setMinimum(min.at(12).toDouble()); ui->progressBar_0_14->setMinimum(min.at(13).toDouble()); ui->progressBar_0_15->setMinimum(min.at(14).toDouble()); ui->progressBar_0_16->setMinimum(min.at(15).toDouble()); ui->progressBar_1_1->setMinimum(min.at(16).toDouble()); ui->progressBar_1_2->setMinimum(min.at(17).toDouble()); ui->progressBar_1_3->setMinimum(min.at(18).toDouble()); ui->progressBar_1_4->setMinimum(min.at(19).toDouble()); ui->progressBar_1_5->setMinimum(min.at(20).toDouble()); ui->progressBar_1_6->setMinimum(min.at(21).toDouble()); ui->progressBar_1_7->setMinimum(min.at(22).toDouble()); ui->progressBar_1_8->setMinimum(min.at(23).toDouble()); ui->progressBar_1_9->setMinimum(min.at(24).toDouble()); ui->progressBar_1_10->setMinimum(min.at(25).toDouble()); ui->progressBar_1_11->setMinimum(min.at(26).toDouble()); ui->progressBar_1_12->setMinimum(min.at(27).toDouble()); ui->progressBar_1_13->setMinimum(min.at(28).toDouble()); ui->progressBar_1_14->setMinimum(min.at(29).toDouble()); ui->progressBar_1_15->setMinimum(min.at(30).toDouble()); ui->progressBar_1_16->setMinimum(min.at(31).toDouble()); ui->progressBar_2_1->setMinimum(min.at(32).toDouble()); ui->progressBar_2_2->setMinimum(min.at(33).toDouble()); ui->progressBar_2_3->setMinimum(min.at(34).toDouble()); ui->progressBar_2_4->setMinimum(min.at(35).toDouble()); ui->progressBar_2_5->setMinimum(min.at(36).toDouble()); ui->progressBar_2_6->setMinimum(min.at(37).toDouble()); ui->progressBar_2_7->setMinimum(min.at(38).toDouble()); ui->progressBar_2_8->setMinimum(min.at(39).toDouble()); ui->progressBar_2_9->setMinimum(min.at(40).toDouble()); ui->progressBar_2_10->setMinimum(min.at(41).toDouble()); ui->progressBar_2_11->setMinimum(min.at(42).toDouble()); ui->progressBar_2_12->setMinimum(min.at(43).toDouble()); ui->progressBar_2_13->setMinimum(min.at(44).toDouble()); ui->progressBar_2_14->setMinimum(min.at(45).toDouble()); ui->progressBar_2_15->setMinimum(min.at(46).toDouble()); ui->progressBar_2_16->setMinimum(min.at(47).toDouble()); ui->progressBar_3_1->setMinimum(min.at(48).toDouble()); ui->progressBar_3_2->setMinimum(min.at(49).toDouble()); ui->progressBar_3_3->setMinimum(min.at(50).toDouble()); ui->progressBar_3_4->setMinimum(min.at(51).toDouble()); ui->progressBar_3_5->setMinimum(min.at(52).toDouble()); ui->progressBar_3_6->setMinimum(min.at(53).toDouble()); ui->progressBar_3_7->setMinimum(min.at(54).toDouble()); ui->progressBar_3_8->setMinimum(min.at(55).toDouble()); ui->progressBar_3_9->setMinimum(min.at(56).toDouble()); ui->progressBar_3_10->setMinimum(min.at(57).toDouble()); ui->progressBar_3_11->setMinimum(min.at(58).toDouble()); ui->progressBar_3_12->setMinimum(min.at(59).toDouble()); ui->progressBar_3_13->setMinimum(min.at(60).toDouble()); ui->progressBar_3_14->setMinimum(min.at(61).toDouble()); ui->progressBar_3_15->setMinimum(min.at(62).toDouble()); ui->progressBar_3_16->setMinimum(min.at(63).toDouble()); //setMAX ui->progressBar_0_1->setMaximum(max.at(0).toDouble()); ui->progressBar_0_2->setMaximum(max.at(1).toDouble()); ui->progressBar_0_3->setMaximum(max.at(2).toDouble()); ui->progressBar_0_4->setMaximum(max.at(3).toDouble()); ui->progressBar_0_5->setMaximum(max.at(4).toDouble()); ui->progressBar_0_6->setMaximum(max.at(5).toDouble()); ui->progressBar_0_7->setMaximum(max.at(6).toDouble()); ui->progressBar_0_8->setMaximum(max.at(7).toDouble()); ui->progressBar_0_9->setMaximum(max.at(8).toDouble()); ui->progressBar_0_10->setMaximum(max.at(9).toDouble()); ui->progressBar_0_11->setMaximum(max.at(10).toDouble()); ui->progressBar_0_12->setMaximum(max.at(11).toDouble()); ui->progressBar_0_13->setMaximum(max.at(12).toDouble()); ui->progressBar_0_14->setMaximum(max.at(13).toDouble()); ui->progressBar_0_15->setMaximum(max.at(14).toDouble()); ui->progressBar_0_16->setMaximum(max.at(15).toDouble()); ui->progressBar_1_1->setMaximum(max.at(16).toDouble()); ui->progressBar_1_2->setMaximum(max.at(17).toDouble()); ui->progressBar_1_3->setMaximum(max.at(18).toDouble()); ui->progressBar_1_4->setMaximum(max.at(19).toDouble()); ui->progressBar_1_5->setMaximum(max.at(20).toDouble()); ui->progressBar_1_6->setMaximum(max.at(21).toDouble()); ui->progressBar_1_7->setMaximum(max.at(22).toDouble()); ui->progressBar_1_8->setMaximum(max.at(23).toDouble()); ui->progressBar_1_9->setMaximum(max.at(24).toDouble()); ui->progressBar_1_10->setMaximum(max.at(25).toDouble()); ui->progressBar_1_11->setMaximum(max.at(26).toDouble()); ui->progressBar_1_12->setMaximum(max.at(27).toDouble()); ui->progressBar_1_13->setMaximum(max.at(28).toDouble()); ui->progressBar_1_14->setMaximum(max.at(29).toDouble()); ui->progressBar_1_15->setMaximum(max.at(30).toDouble()); ui->progressBar_1_16->setMaximum(max.at(31).toDouble()); ui->progressBar_2_1->setMaximum(max.at(32).toDouble()); ui->progressBar_2_2->setMaximum(max.at(33).toDouble()); ui->progressBar_2_3->setMaximum(max.at(34).toDouble()); ui->progressBar_2_4->setMaximum(max.at(35).toDouble()); ui->progressBar_2_5->setMaximum(max.at(36).toDouble()); ui->progressBar_2_6->setMaximum(max.at(37).toDouble()); ui->progressBar_2_7->setMaximum(max.at(38).toDouble()); ui->progressBar_2_8->setMaximum(max.at(39).toDouble()); ui->progressBar_2_9->setMaximum(max.at(40).toDouble()); ui->progressBar_2_10->setMaximum(max.at(41).toDouble()); ui->progressBar_2_11->setMaximum(max.at(42).toDouble()); ui->progressBar_2_12->setMaximum(max.at(43).toDouble()); ui->progressBar_2_13->setMaximum(max.at(44).toDouble()); ui->progressBar_2_14->setMaximum(max.at(45).toDouble()); ui->progressBar_2_15->setMaximum(max.at(46).toDouble()); ui->progressBar_2_16->setMaximum(max.at(47).toDouble()); ui->progressBar_3_1->setMaximum(max.at(48).toDouble()); ui->progressBar_3_2->setMaximum(max.at(49).toDouble()); ui->progressBar_3_3->setMaximum(max.at(50).toDouble()); ui->progressBar_3_4->setMaximum(max.at(51).toDouble()); ui->progressBar_3_5->setMaximum(max.at(52).toDouble()); ui->progressBar_3_6->setMaximum(max.at(53).toDouble()); ui->progressBar_3_7->setMaximum(max.at(54).toDouble()); ui->progressBar_3_8->setMaximum(max.at(55).toDouble()); ui->progressBar_3_9->setMaximum(max.at(56).toDouble()); ui->progressBar_3_10->setMaximum(max.at(57).toDouble()); ui->progressBar_3_11->setMaximum(max.at(58).toDouble()); ui->progressBar_3_12->setMaximum(max.at(59).toDouble()); ui->progressBar_3_13->setMaximum(max.at(60).toDouble()); ui->progressBar_3_14->setMaximum(max.at(61).toDouble()); ui->progressBar_3_15->setMaximum(max.at(62).toDouble()); ui->progressBar_3_16->setMaximum(max.at(63).toDouble()); } void tools_Index4::setChannel(int port,uint16_t *value) { switch (port) { case 0: ui->progressBar_0_1->setValue(value[0]); ui->progressBar_0_2->setValue(value[1]); ui->progressBar_0_3->setValue(value[2]); ui->progressBar_0_4->setValue(value[3]); ui->progressBar_0_5->setValue(value[4]); ui->progressBar_0_6->setValue(value[5]); ui->progressBar_0_7->setValue(value[6]); ui->progressBar_0_8->setValue(value[7]); ui->progressBar_0_9->setValue(value[8]); ui->progressBar_0_10->setValue(value[9]); ui->progressBar_0_11->setValue(value[10]); ui->progressBar_0_12->setValue(value[11]); ui->progressBar_0_13->setValue(value[12]); ui->progressBar_0_14->setValue(value[13]); ui->progressBar_0_15->setValue(value[14]); ui->progressBar_0_16->setValue(value[15]); break; case 1: ui->progressBar_1_1->setValue(value[0]); ui->progressBar_1_2->setValue(value[1]); ui->progressBar_1_3->setValue(value[2]); ui->progressBar_1_4->setValue(value[3]); ui->progressBar_1_5->setValue(value[4]); ui->progressBar_1_6->setValue(value[5]); ui->progressBar_1_7->setValue(value[6]); ui->progressBar_1_8->setValue(value[7]); ui->progressBar_1_9->setValue(value[8]); ui->progressBar_1_10->setValue(value[9]); ui->progressBar_1_11->setValue(value[10]); ui->progressBar_1_12->setValue(value[11]); ui->progressBar_1_13->setValue(value[12]); ui->progressBar_1_14->setValue(value[13]); ui->progressBar_1_15->setValue(value[14]); ui->progressBar_1_16->setValue(value[15]); break; case 2: ui->progressBar_2_1->setValue(value[0]); ui->progressBar_2_2->setValue(value[1]); ui->progressBar_2_3->setValue(value[2]); ui->progressBar_2_4->setValue(value[3]); ui->progressBar_2_5->setValue(value[4]); ui->progressBar_2_6->setValue(value[5]); ui->progressBar_2_7->setValue(value[6]); ui->progressBar_2_8->setValue(value[7]); ui->progressBar_2_9->setValue(value[8]); ui->progressBar_2_10->setValue(value[9]); ui->progressBar_2_11->setValue(value[10]); ui->progressBar_2_12->setValue(value[11]); ui->progressBar_2_13->setValue(value[12]); ui->progressBar_2_14->setValue(value[13]); ui->progressBar_2_15->setValue(value[14]); ui->progressBar_2_16->setValue(value[15]); break; case 3: ui->progressBar_3_1->setValue(value[0]); ui->progressBar_3_2->setValue(value[1]); ui->progressBar_3_3->setValue(value[2]); ui->progressBar_3_4->setValue(value[3]); ui->progressBar_3_5->setValue(value[4]); ui->progressBar_3_6->setValue(value[5]); ui->progressBar_3_7->setValue(value[6]); ui->progressBar_3_8->setValue(value[7]); ui->progressBar_3_9->setValue(value[8]); ui->progressBar_3_10->setValue(value[9]); ui->progressBar_3_11->setValue(value[10]); ui->progressBar_3_12->setValue(value[11]); ui->progressBar_3_13->setValue(value[12]); ui->progressBar_3_14->setValue(value[13]); ui->progressBar_3_15->setValue(value[14]); ui->progressBar_3_16->setValue(value[15]); break; default: break; } //ui->progressBar_3_16->setTextVisible(true); }