#include "widget.h"
#include "ui_widget.h"
#include <QApplication>
#include <QtCharts/QChartView>
#include <QtCharts/QLineSeries>
#include<QStandardItemModel>
#include<QTableView>
#include<QVBoxLayout>
#include<QPushButton>
#include<QVector>
//Q_OBJECT
using namespace QtCharts;
Widget::Widget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::Widget)
{
ui->setupUi(this);
QStandardItemModel *model = new QStandardItemModel(this);
model->setColumnCount(2);
model->setHeaderData(0,Qt::Horizontal,QObject::tr("data1"));
model->setHeaderData(1,Qt::Horizontal,QObject::tr("data2"));
for(int i=0;i<8;i++){
//model->setData(i,0,i));
//model->setData(model->index(1,i,QModelIndex()),i);
model->setItem(i,0,new QStandardItem(QString::number(i)));
model->setItem(i,1,new QStandardItem(QString::number(i)));
}
ui->tableView->setModel(model);
connect(ui->tableView,SIGNAL(update),ui->tableView,SLOT(add()));
QLineSeries *series = new QLineSeries();
//series->setColor(QColor(0,0,255)); //设置颜色
//for(int j=1;j<=7;j++){
*series << QPointF(1, 1) <<QPointF(2, 2); //添加数据
//}
QChart *chart = new QChart();
chart->addSeries(series);
chart->setTitle("Simple example");
chart->createDefaultAxes(); //设置默认的坐标系,若是不设置程序是运行不了的
chart->axisX()->setRange(0, 20);//设置图表坐标轴的范围,能够不设置,自动调节的
chart->axisY()->setRange(0, 10);
QChartView *chartView = new QChartView(chart);
QChartView *chartView1 = new QChartView(chart);
chartView->setRenderHint(QPainter::Antialiasing); //抗锯齿渲染
chartView1->show();
//chartView1->setStyleSheet("width:700px");
//chartView1->geometry(500,500);
chartView1->setGeometry(400,100,500,500);
//chartView1->setRubberBand(QChartView::NoRubberBand);
chartView1->setParent(this);
//QVBoxLayout *vbox=new QVBoxLayout;
//this->setLayout(vbox);
//ui->setL
//QMainWindow window;
}
Widget::~Widget()
{
delete ui;
}
void Widget::add()
{
ui->tableView->setStyleSheet("background-color:blue");
}
void Widget::on_tableView_clicked(const QModelIndex &index)
{
//ui->tableView->setStyleSheet("background-color:blue");
}
void Widget::on_tableWidget_cellChanged(int row, int column)
{
QLineSeries *series = new QLineSeries();
QString str = ui->tableWidget->item(row,column)->text();
int num=str.toInt();
int num1,num2;
for(int k=0;k<=7;k++){
//for(int kk=0;kk<=1;kk++)
//{
QString str = ui->tableWidget->item(k,0)->text();
QString str1 = ui->tableWidget->item(k,1)->text();
//int num1=str.toInt();
num1=str.toInt();
num2=str1.toInt();
//}
if(k==row&&column==0)
{
*series << QPointF(num, num2);
}else if(k==row&&column==1)
{
*series << QPointF(num1, num);
}else{
*series << QPointF(num1, num2);
}
}
//series->setColor(QColor(0,0,255)); //设置颜色
/*for(int j=0;j<=7;j++){
if(j==row&&column==0)
*series << QPointF(num, j+1); //添加数据
else if ((j+1)==row&&column==1)
*series << QPointF(j+1, num);
else
*series << QPointF(j+1, j+1);
//if(j==row&&j==1)
//*series << QPointF(j, num); //添加数据
}*/
QChart *chart = new QChart();
chart->addSeries(series);
chart->setTitle("Simple example");
chart->createDefaultAxes(); //设置默认的坐标系,若是不设置程序是运行不了的
chart->axisX()->setRange(0, 20);//设置图表坐标轴的范围,能够不设置,自动调节的
chart->axisY()->setRange(0, 10);
QChartView *chartView = new QChartView(chart);
QChartView *chartView1 = new QChartView(chart);
chartView->setRenderHint(QPainter::Antialiasing); //抗锯齿渲染
chartView1->show();
//chartView1->setStyleSheet("width:700px");
//chartView1->geometry(500,500);
//chartView1->setGeometry(400,100,500,500);
//chartView1->setRubberBand(QChartView::NoRubberBand);
//chartView1->setParent(this);
}
评论0