#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(); }