Russian Qt Forum
Ноябрь 03, 2024, 00:36 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Не хочет рисовать на QWidget...  (Прочитано 4471 раз)
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
Записан
bigirbis
Гость
« Ответ #1 : Август 21, 2007, 12:54 »

Может лучше воспользоваться
QLabel::setPixmap( const QPixmap & )
и его в скролл положить?

Иначе придется переописать
void QWidget::paintEvent ( QPaintEvent * event )
Записан
Martiro
Гость
« Ответ #2 : Август 21, 2007, 13:01 »

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

А с QWidget::setBackgroundMode как-нибудь поковыряться можно?
Записан
bigirbis
Гость
« Ответ #4 : Август 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");
 }
Там еще много всяких вкусностей...  Подмигивающий

МСВС?
Записан
Martiro
Гость
« Ответ #5 : Август 21, 2007, 13:23 »

Да. МСВС 3.0
Буду ковырять...
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.093 секунд. Запросов: 20.