SQL
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QMainWindow>
#include <QScrollArea>
#include <QLabel>
#include <QApplication>
#include <QPainter>
class MyLabel : public QLabel
{
Q_OBJECT
protected:
void paintEvent(QPaintEvent *e);
private:
QList<double> oxL;
QList<double> oyL;
public slots:
void setData(QList<double>,QList<double>);
};
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
QString image;
QPixmap pix;
MyLabel *l;
private slots:
void load_image();
private:
Ui::MainWindow *ui;
QList<double> MainOx;
QList<double> MainOy;
};
#endif // MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QMainWindow>
#include <QScrollArea>
#include <QLabel>
#include <QApplication>
#include <QPainter>
class MyLabel : public QLabel
{
Q_OBJECT
protected:
void paintEvent(QPaintEvent *e);
private:
QList<double> oxL;
QList<double> oyL;
public slots:
void setData(QList<double>,QList<double>);
};
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
QString image;
QPixmap pix;
MyLabel *l;
private slots:
void load_image();
private:
Ui::MainWindow *ui;
QList<double> MainOx;
QList<double> MainOy;
};
#endif // MAINWINDOW_H
SQL
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QFileDialog>
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
l = new MyLabel;
MainOx.clear();
MainOy.clear();
for(int i=0;i<10;i++) //генерация рандомных точек для проверки
{
MainOx<<rand()%1000;
MainOy<<rand()%1000;
}
l->setData(MainOx,MainOy);//попытка передать два списка точек в класс MyLabel
connect(ui->spinBox,SIGNAL(valueChanged(int)),this,SLOT(zoom_image(int)));
connect(ui->pushButton,SIGNAL(clicked()),this,SLOT(load_image()));
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::load_image()
{
image = QFileDialog::getOpenFileName(this);
pix=QPixmap(image);
QLabel* label = new MyLabel();
pix=pix.scaled(1500,1500,Qt::KeepAspectRatioByExpanding);
label->setPixmap(QPixmap(pix));
ui->scrollArea->setWidget(label);
}
void MyLabel::setData(QList<double> Mox, QList<double> Moy)
{
oxL = Mox;
oyL = Moy;
this->update();
}
void MyLabel::paintEvent(QPaintEvent *e)
{
QLabel::paintEvent(e);
QPainter painter(this);
painter.setPen(Qt::black);
painter.translate(0,height());
painter.rotate(-90);
int x=0,y=0,xP=0,yP=0;
for(int i=0;i<oxL.count();i++)
{
x=oxL[i];
y=oyL[i];
if(i!=0)
painter.drawLine(xP,yP,x,y);
xP=x; yP=y;
}
}
#include "ui_mainwindow.h"
#include <QFileDialog>
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
l = new MyLabel;
MainOx.clear();
MainOy.clear();
for(int i=0;i<10;i++) //генерация рандомных точек для проверки
{
MainOx<<rand()%1000;
MainOy<<rand()%1000;
}
l->setData(MainOx,MainOy);//попытка передать два списка точек в класс MyLabel
connect(ui->spinBox,SIGNAL(valueChanged(int)),this,SLOT(zoom_image(int)));
connect(ui->pushButton,SIGNAL(clicked()),this,SLOT(load_image()));
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::load_image()
{
image = QFileDialog::getOpenFileName(this);
pix=QPixmap(image);
QLabel* label = new MyLabel();
pix=pix.scaled(1500,1500,Qt::KeepAspectRatioByExpanding);
label->setPixmap(QPixmap(pix));
ui->scrollArea->setWidget(label);
}
void MyLabel::setData(QList<double> Mox, QList<double> Moy)
{
oxL = Mox;
oyL = Moy;
this->update();
}
void MyLabel::paintEvent(QPaintEvent *e)
{
QLabel::paintEvent(e);
QPainter painter(this);
painter.setPen(Qt::black);
painter.translate(0,height());
painter.rotate(-90);
int x=0,y=0,xP=0,yP=0;
for(int i=0;i<oxL.count();i++)
{
x=oxL[i];
y=oyL[i];
if(i!=0)
painter.drawLine(xP,yP,x,y);
xP=x; yP=y;
}
}