#include "mylineseries.h"
#include "ui_mylineseries.h"
MyLineSeries::MyLineSeries(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MyLineSeries)
{
ui->setupUi(this);
m_chartView = new QChartView(this);
m_chart = new QChart();
m_chart->setTitle("简单的曲线");
m_chartView->setChart(m_chart);
//this->setCentralWidget(chartView);
ui->showLayout->addWidget(m_chartView);
//创建QLineSeries
QLineSeries *series0 = new QLineSeries();
QLineSeries *series1 = new QLineSeries();
series0->setName("sin曲线");
series1->setName("Cos曲线");
//图表添加曲线
m_chart->addSeries(series0);
m_chart->addSeries(series1);
qreal t=0,y1,y2,intv=0.1;
int cnt = 100;
//设置内容
for(int i=0;i<cnt;i++)
{
y1 = qSin(t);
series0->append(t,y1);
y2 = qSin(t+20);
series1->append(t,y2);
t+=intv;
}
//创建坐标轴
QValueAxis *axisX = new QValueAxis;
axisX->setRange(0,10);
axisX->setTitleText("time(secs)");
QValueAxis *axisY = new QValueAxis;
axisY->setRange(-2,2);
axisY->setTitleText("value");
//图表添加坐标轴
m_chart->setAxisX(axisX,series0);
m_chart->setAxisY(axisY,series0);
m_chart->setAxisX(axisX,series1);
m_chart->setAxisY(axisY,series1);
ui->rbSin->setChecked(true);
//on_rbSin_toggled(true);
}
MyLineSeries::~MyLineSeries()
{
delete ui;
}
void MyLineSeries::on_rbSin_toggled(bool checked)
{
if(checked)
{
QLineSeries *curSeries = (QLineSeries*)m_chartView->chart()->series().at(0);
ui->lineEdit->setText(curSeries->name());
ui->cbLineVisible->setChecked(curSeries->isVisible());
ui->cbPointVisible->setChecked(curSeries->pointsVisible());
ui->horizontalSlider->setValue(curSeries->opacity() * 10);
ui->cbLabelVisible->setChecked(curSeries->pointLabelsVisible());
}
}
void MyLineSeries::on_rbCos_toggled(bool checked)
{
if(checked)
{
QLineSeries *curSeries = (QLineSeries*)m_chartView->chart()->series().at(1);
ui->lineEdit->setText(curSeries->name());
ui->cbLineVisible->setChecked(curSeries->isVisible());
ui->cbPointVisible->setChecked(curSeries->pointsVisible());
ui->horizontalSlider->setValue(curSeries->opacity() * 10);
ui->cbLabelVisible->setChecked(curSeries->pointLabelsVisible());
}
}
void MyLineSeries::on_cbLineVisible_toggled(bool checked)
{
QLineSeries *curSeries = nullptr;
if(ui->rbSin->isChecked())
curSeries = (QLineSeries*)m_chartView->chart()->series().at(0);
else
curSeries = (QLineSeries*)m_chartView->chart()->series().at(1);
curSeries->setVisible(checked);
}
void MyLineSeries::on_cbPointVisible_toggled(bool checked)
{
QLineSeries *curSeries = nullptr;
if(ui->rbSin->isChecked())
curSeries = (QLineSeries*)m_chartView->chart()->series().at(0);
else
curSeries = (QLineSeries*)m_chartView->chart()->series().at(1);
curSeries->setPointsVisible(checked);
}
void MyLineSeries::on_btnCurveColor_clicked()
{
QLineSeries *curSeries = nullptr;
if(ui->rbSin->isChecked())
curSeries = (QLineSeries*)m_chartView->chart()->series().at(0);
else
curSeries = (QLineSeries*)m_chartView->chart()->series().at(1);
curSeries->setColor(QColor(Qt::yellow));
}
void MyLineSeries::on_cbLabelVisible_toggled(bool checked)
{
QLineSeries *curSeries = nullptr;
if(ui->rbSin->isChecked())
curSeries = (QLineSeries*)m_chartView->chart()->series().at(0);
else
curSeries = (QLineSeries*)m_chartView->chart()->series().at(1);
curSeries->setPointLabelsVisible(checked);
}
void MyLineSeries::on_btnLabelColor_toggled(bool checked)
{
QLineSeries *curSeries = nullptr;
if(ui->rbSin->isChecked())
curSeries = (QLineSeries*)m_chartView->chart()->series().at(0);
else
curSeries = (QLineSeries*)m_chartView->chart()->series().at(1);
curSeries->setPointLabelsColor(QColor(Qt::green));
}
void MyLineSeries::on_btnLabelFont_toggled(bool checked)
{
QLineSeries *curSeries = nullptr;
if(ui->rbSin->isChecked())
curSeries = (QLineSeries*)m_chartView->chart()->series().at(0);
else
curSeries = (QLineSeries*)m_chartView->chart()->series().at(1);
QFont font = m_chart->legend()->font();
bool ok = false;
font = QFontDialog::getFont(&ok,font);
if(ok)
curSeries->setPointLabelsFont(font);
}
void MyLineSeries::on_rbYpoint_toggled(bool checked)
{
QLineSeries *curSeries = nullptr;
if(ui->rbSin->isChecked())
curSeries = (QLineSeries*)m_chartView->chart()->series().at(0);
else
curSeries = (QLineSeries*)m_chartView->chart()->series().at(1);
curSeries->setPointLabelsFormat("@yPoint");
}
void MyLineSeries::on_rbXyPoint_toggled(bool checked)
{
QLineSeries *curSeries = nullptr;
if(ui->rbSin->isChecked())
curSeries = (QLineSeries*)m_chartView->chart()->series().at(0);
else
curSeries = (QLineSeries*)m_chartView->chart()->series().at(1);
curSeries->setPointLabelsFormat("(@xPoint,@yPoint)");
}
void MyLineSeries::on_horizontalSlider_valueChanged(int value)
{
QLineSeries *curSeries = nullptr;
if(ui->rbSin->isChecked())
curSeries = (QLineSeries*)m_chartView->chart()->series().at(0);
else
curSeries = (QLineSeries*)m_chartView->chart()->series().at(1);
curSeries->setOpacity(value / 10);
}
没有合适的资源?快使用搜索试试~ 我知道了~
QLineSeries
共9个文件
cpp:3个
ui:2个
h:2个
5星 · 超过95%的资源 需积分: 5 21 下载量 50 浏览量
2022-04-06
19:28:00
上传
评论 1
收藏 9KB ZIP 举报
温馨提示
QLineSeries详解QLineSeries详解QLineSeries详解QLineSeries详解QLineSeries详解QLineSeries详解QLineSeries详解QLineSeries详解QLineSeries详解QLineSeries详解QLineSeries详解QLineSeries详解QLineSeries详解QLineSeries详解QLineSeries详解QLineSeries详解QLineSeries详解QLineSeries详解QLineSeries详解QLineSeries详解QLineSeries详解QLineSeries详解QLineSeries详解QLineSeries详解QLineSeries详解QLineSeries详解QLineSeries详解QLineSeries详解QLineSeries详解QLineSeries详解QLineSeries详解QLineSeries详解QLineSeries详解QLineSeries详解QLineSeries详解QLineSeries详解QLineSeries详解QLineSeries详解
资源详情
资源评论
资源推荐
收起资源包目录
qcharts.zip (9个子文件)
qcharts
qcharts.pro.user 23KB
mylineseries.ui 6KB
mylineseries.h 1KB
qcharts.pro 1KB
main.cpp 233B
mainwindow.ui 12KB
mylineseries.cpp 6KB
mainwindow.cpp 3KB
mainwindow.h 1KB
共 9 条
- 1
Mr.codeee
- 粉丝: 3w+
- 资源: 58
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论5