Files
gcs-nf/App/ComponentUI/Scope/Scope.cpp
T
2020-10-10 12:12:30 +08:00

138 lines
2.4 KiB
C++

#include "Scope.h"
#include "ui_Scope.h"
//需要重新实现chart类,现在这种方式有局限,不方便操作
Scope::Scope(QWidget *parent) :
QWidget(parent),
ui(new Ui::Scope)
{
ui->setupUi(this);
//load qss
QFile file(":/qss/Scope.qss");
file.open(QFile::ReadOnly);
QTextStream filetext(&file);
QString stylesheet = filetext.readAll();
this->setStyleSheet(stylesheet);
file.close();
chartView = new Chart(this);//new QChartView(this);
chartView->setRenderHint(QPainter::Antialiasing);
chartView->setGeometry(ui->frame->geometry());
qInfo() << "Scope inital ready";
}
Scope::~Scope()
{
delete ui;
}
void Scope::mouseMoveEvent(QMouseEvent *e)
{
QWidget::mouseMoveEvent(e);
}
void Scope::mouseReleaseEvent(QMouseEvent *e)
{
QWidget::mouseReleaseEvent(e);
}
void Scope::mousePressEvent(QMouseEvent *e)
{
QWidget::mousePressEvent(e);
}
void Scope::mouseDoubleClickEvent(QMouseEvent *e)
{
QWidget::mouseDoubleClickEvent(e);
}
void Scope::wheelEvent(QWheelEvent *e)
{
QWidget::wheelEvent(e);
}
void Scope::resizeEvent(QResizeEvent *e)
{
if(chartView)
{
chartView->setGeometry(ui->frame->geometry());
}
QWidget::resizeEvent(e);
}
void Scope::hideButton(bool flag)
{
if(flag)
{
ui->pushButton_Clear->hide();
ui->pushButton_Close->hide();
ui->pushButton_Flag1->hide();
ui->pushButton_Flag2->hide();
ui->pushButton_Pause->hide();
}
else
{
ui->pushButton_Clear->show();
ui->pushButton_Close->show();
ui->pushButton_Flag1->show();
ui->pushButton_Flag2->show();
ui->pushButton_Pause->show();
}
}
void Scope::on_pushButton_Pause_clicked()
{
if(chartView)
{
if(chartView->isScroll() == true)
{
ui->pushButton_Pause->setText(tr("Scroll"));
}
else
{
ui->pushButton_Pause->setText(tr("Pause"));
}
chartView->setScroll(chartView->isScroll()?false:true);
}
}
void Scope::on_pushButton_Clear_clicked()
{
if(chartView)
{
chartView->removeAllSerie();
}
emit clearall();
}
void Scope::on_pushButton_Flag1_clicked()
{
//添加标尺,可以查看具体数据
}
void Scope::on_pushButton_Flag2_clicked()
{
}
void Scope::on_pushButton_Close_clicked()
{
// delete ui;
emit willclose();
this->hide();
// this->deleteLater();
// this->close();
}