Russian Qt Forum

Qt => 2D и 3D графика => Тема начата: Martiro от Август 21, 2007, 12:49



Название: Не хочет рисовать на QWidget...
Отправлено: Martiro от Август 21, 2007, 12:49
Почему не хочет рисовать на QWidget?...
Код:
QScrollView = new QScrollView(this);
QWidget wImage = new QWidget(sv->viewport());
sv->addChild(wImage);
QImage img;
img.load(fileName);
QPainter pnt(wImage);
pnt.drawImage(0, 0, img, img.width(), img.height(),DiffuseAlphaDither);
pnt.end();
QT: 3.3.3
OS: *nix


Название: Re: Не хочет рисовать на QWidget...
Отправлено: bigirbis от Август 21, 2007, 12:54
Может лучше воспользоваться
QLabel::setPixmap( const QPixmap & )
и его в скролл положить?

Иначе придется переописать
void QWidget::paintEvent ( QPaintEvent * event )


Название: Re: Не хочет рисовать на QWidget...
Отправлено: Martiro от Август 21, 2007, 13:01
Нет. Мне еще много чего нужно будет потом нарисовать поверх + еще с этим изображением "поиграться"...
Значит, paintEvent переписывать? А что там описать надо?


Название: Re: Не хочет рисовать на QWidget...
Отправлено: Martiro от Август 21, 2007, 13:09
А с QWidget::setBackgroundMode как-нибудь поковыряться можно?


Название: Re: Не хочет рисовать на QWidget...
Отправлено: bigirbis от Август 21, 2007, 13:15
Рекомендую посмотреть в Ассистанте QPainter (там даже примеры есть)
Код:
 void SimpleExampleWidget::paintEvent(QPaintEvent *)
 {
     QPainter painter(this);
     painter.setPen(Qt::blue);
     painter.setFont(QFont("Arial", 30));
     painter.drawText(rect(), Qt::AlignCenter, "Qt");
 }
Там еще много всяких вкусностей...  ;)

МСВС?


Название: Re: Не хочет рисовать на QWidget...
Отправлено: Martiro от Август 21, 2007, 13:23
Да. МСВС 3.0
Буду ковырять...