Files
gcs-nf/App/ToolsUI/tools_Index4/tools_Index4.cpp
T

164 lines
3.3 KiB
C++
Raw Normal View History

2020-10-24 11:21:24 +08:00
#include "tools_Index4.h"
2020-08-19 22:21:48 +08:00
#include "ui_tools_Index4.h"
tools_Index4::tools_Index4(QWidget *parent) :
2021-01-07 10:55:02 +08:00
ToolsWidget(parent),
2020-08-19 22:21:48 +08:00
ui(new Ui::tools_Index4)
{
ui->setupUi(this);
2020-08-26 22:10:44 +08:00
//检测文件夹,如果不存在,那么就新建一个,这里存着所有的qml文件
QDir *Dir = new QDir;
if(!Dir->exists("./Init"))
Dir->mkdir("./Init");//如果文件夹不存在就新建
2020-08-19 22:21:48 +08:00
//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"));
2021-03-09 09:02:56 +08:00
2021-02-28 17:57:20 +08:00
addGroup(0);
addGroup(1);
2021-04-14 18:23:36 +08:00
//addGroup(2);
//addGroup(3);
//addGroup(4);
2021-03-09 09:02:56 +08:00
2021-03-05 10:22:56 +08:00
2020-08-19 22:21:48 +08:00
}
tools_Index4::~tools_Index4()
{
2021-07-09 18:26:47 +08:00
foreach (QProgressBar *bar, barlist) {
if(bar)
{
delete bar;
}
}
2020-08-19 22:21:48 +08:00
delete ui;
}
2020-08-24 22:59:05 +08:00
2020-10-07 19:50:45 +08:00
2020-08-19 22:21:48 +08:00
2020-08-26 22:10:44 +08:00
void tools_Index4::mouseReleaseEvent(QMouseEvent *event)
{
if (event->button() == Qt::MiddleButton)
{
}
else if (event->button() == Qt::RightButton)
{
}
}
2020-08-19 22:21:48 +08:00
void tools_Index4::mouseDoubleClickEvent(QMouseEvent *event)
{
2020-09-03 10:10:52 +08:00
2020-08-26 22:10:44 +08:00
}
2021-03-05 10:22:56 +08:00
void tools_Index4::setChannel(int port,QMap<int,uint16_t> pwm)
2020-08-26 22:10:44 +08:00
{
2021-03-09 09:02:56 +08:00
//qDebug() << pwm;
if(port > 10)
{
qDebug() << "port out of range";
return;
}
2021-03-05 10:22:56 +08:00
if(!barlist.contains(port * 16 + 1))
{
addGroup(port);
2021-06-27 18:25:22 +08:00
return;
2020-08-26 22:10:44 +08:00
}
for (int var = 1; var <= 16; ++var) {
2020-12-30 00:12:15 +08:00
QProgressBar *progress = barlist.value(port * 16 + var);
if(progress)
{
if(pwm.contains(var))
2020-12-30 00:12:15 +08:00
{
if(pwm.value(var) <= 800)
{
progress->setRange(pwm.value(var),2200);
}
else if(pwm.value(var) >= 2200)
{
progress->setRange(800,pwm.value(var));
}
else
{
progress->setRange(800,2200);
}
progress->setValue(pwm.value(var));
2020-12-30 00:12:15 +08:00
}
}
}
2020-08-19 22:21:48 +08:00
}
2021-02-28 17:57:20 +08:00
void tools_Index4::addGroup(int port)
{
if(!barlist.contains(port * 16 + 1))
{
QGridLayout *layout = new QGridLayout();
QGroupBox * groupbox = new QGroupBox(this);
QString boxname = tr("Servos Port %1");
groupbox->setTitle(boxname.arg(port));
groupbox->setObjectName(boxname);
QString name = "progressBar_%1_%2";
for (int var = 1; var <= 16; ++var) {
QLabel *l = new QLabel(groupbox);
QString lt = tr("ch%1");
l->setText(lt.arg(var));
l->adjustSize();
2020-08-19 22:21:48 +08:00
2021-02-28 17:57:20 +08:00
QProgressBar *progress = new QProgressBar(groupbox);
progress->setObjectName(name.arg(port).arg(var));
2021-03-09 09:02:56 +08:00
progress->setFormat("%v");
2021-02-28 17:57:20 +08:00
progress->setRange(800,2200);
progress->setValue(1500);
barlist.insert(port * 16 + var,progress);
layout->addWidget(l,var,0,1,1);
2021-03-09 09:02:56 +08:00
layout->addWidget(progress,var,1);
2021-02-28 17:57:20 +08:00
}
groupbox->setLayout(layout);
2021-03-09 09:02:56 +08:00
int row = 0;
int column = 0;
row = port / 5;
column = port % 5;
ui->gridLayout->addWidget(groupbox,row,column,1,1);
2021-02-28 17:57:20 +08:00
}
}
2020-08-19 22:21:48 +08:00