Название: отрисовка pixmap на форме с масштабированием Отправлено: Qlab от Декабрь 16, 2013, 20:10 Собственно проблема:
нужно отрисовать картинку, которая изменяется при изменении ползунка (значения). Был создан производный класс от 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; } Название: Re: отрисовка pixmap на форме с масштабированием Отправлено: Bepec от Декабрь 16, 2013, 20:45 Ты рисуешь на пиксмапе пиксмап. Не вижу вывода на виджет :)
Название: Re: отрисовка pixmap на форме с масштабированием Отправлено: Qlab от Декабрь 16, 2013, 21:20 На форме создан объект типа MyPicture. Линия из faq строится, а картинка не отображается.
Название: Re: отрисовка pixmap на форме с масштабированием Отправлено: Bepec от Декабрь 16, 2013, 21:59 Код: QPainter painter(this); Код: painter.begin(&pixmap); Код: QRect r(0, 0, width(), height()); Код: painter.drawPixmap(r, pixmap); Код: painter.drawRect(r); PS яснее стало? Если нет, читаем про Цитировать painter.begin |