Собственно проблема:
нужно отрисовать картинку, которая изменяется при изменении ползунка (значения).
Был создан производный класс от QWidget, преобразован в новый класс, перегружен метод paintEvent(), создан соотвествующий слот, для соединения ползунка и картинки, но картинка почему-то не выводится на виджет.
код:
#include <QPixmap>
#include <QWidget>
#ifndef MYPICTURE_H
#define MYPICTURE_H
class MyPicture : public QWidget
{
Q_OBJECT
public:
MyPicture( QWidget *parent = 0);
~MyPicture();
protected:
void paintEvent(QPaintEvent* pe);
private:
QPixmap pixmap;
double part;
public slots:
void myslot(int val);
};
#endif // MYPICTURE_H
#include "mypicture.h"
#include <QPaintEvent>
#include <Qpainter>
#include <QPixmap>
#include <QPaintDevice>
MyPicture::MyPicture( QWidget *parent): QWidget(parent)
{
pixmap.load("1.jpeg");
part = 1;
}
MyPicture::~MyPicture()
{
}
void MyPicture::paintEvent(QPaintEvent* pe)
{
QPainter painter(this);
painter.begin(&pixmap);
QRect r(0, 0, width(), height());
painter.drawPixmap(r, pixmap);
painter.drawRect(r);
// if (pe->region().contains(r))
// {
// painter.drawRect(r);
// }
}
void MyPicture::myslot(int val)
{
part = val;
}