crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

2 страниц V   1 2 >  
Ответить в данную темуНачать новую тему
> QPainter::drawImage(), не рисуется картинка в виджете
Mitnick
  опции профиля:
сообщение 16.12.2007, 1:24
Сообщение #1


Студент
*

Группа: Новичок
Сообщений: 11
Регистрация: 16.12.2007
Пользователь №: 48

Спасибо сказали: 0 раз(а)




Репутация:   0  


CODE

QWidget frame;
QPainter painter(&frame);
QString file_name;
Openf widg(&file_name);
QImage im;
frame.show();
im.load(file_name);
painter.drawImage(button->x(), button->y(), im);
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
QCasper
  опции профиля:
сообщение 16.12.2007, 3:32
Сообщение #2


Студент
*

Группа: Участник
Сообщений: 66
Регистрация: 26.11.2007
Пользователь №: 24

Спасибо сказали: 2 раз(а)




Репутация:   1  


Переопределите paintEvent для виджета, и рисуйте там.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Mitnick
  опции профиля:
сообщение 16.12.2007, 3:40
Сообщение #3


Студент
*

Группа: Новичок
Сообщений: 11
Регистрация: 16.12.2007
Пользователь №: 48

Спасибо сказали: 0 раз(а)




Репутация:   0  


Спасибо за помощь, но решение уже нашел. Не рисовалось(мне просто нужно вывести картинку в окне) потому, что неправильно реализовал слот в классе Openf.

теперь появилась другая проблема: при перекрывании виджета, куда помещено изображение, оное не перерисовыается... изображение пропадает и при showFullScreen() и showNormalScreen()

Сообщение отредактировал Mitnick - 16.12.2007, 3:43
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Багира
  опции профиля:
сообщение 16.12.2007, 15:18
Сообщение #4


Злоба_дня
***

Группа: Администратор
Сообщений: 314
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 2

Спасибо сказали: 16 раз(а)




Репутация:   4  


Цитата(Mitnick @ 16.12.2007, 4:40) *
при перекрывании виджета, куда помещено изображение, оное не перерисовыается...

Цитата(QCasper @ 16.12.2007, 4:32) *
Переопределите paintEvent для виджета, и рисуйте там.

Вот описание: QWidget::paintEvent
;)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Mitnick
  опции профиля:
сообщение 16.12.2007, 15:26
Сообщение #5


Студент
*

Группа: Новичок
Сообщений: 11
Регистрация: 16.12.2007
Пользователь №: 48

Спасибо сказали: 0 раз(а)




Репутация:   0  


Спасибо большое за помощь! уже и это сделал) почему-то не получаю событий в resizeEvent(), хотя размеры виджета изменяются...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Багира
  опции профиля:
сообщение 16.12.2007, 15:29
Сообщение #6


Злоба_дня
***

Группа: Администратор
Сообщений: 314
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 2

Спасибо сказали: 16 раз(а)




Репутация:   4  


А ты его переопределял?
Если переопределил, то как?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Mitnick
  опции профиля:
сообщение 16.12.2007, 15:32
Сообщение #7


Студент
*

Группа: Новичок
Сообщений: 11
Регистрация: 16.12.2007
Пользователь №: 48

Спасибо сказали: 0 раз(а)




Репутация:   0  


void Openf::resizeEvent(QResizeEvent *re)
{
    if (!d->isEmpty())
    {
        *pict = pict->smoothScale(this->size(),QImage::ScaleMin);
        draw->drawImage(0, 0, *pict);
        pict->reset();
        pict->load(*d);
    };
}


Сообщение отредактировал Mitnick - 16.12.2007, 15:33
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Багира
  опции профиля:
сообщение 16.12.2007, 15:34
Сообщение #8


Злоба_дня
***

Группа: Администратор
Сообщений: 314
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 2

Спасибо сказали: 16 раз(а)




Репутация:   4  


connect делал?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Mitnick
  опции профиля:
сообщение 16.12.2007, 15:36
Сообщение #9


Студент
*

Группа: Новичок
Сообщений: 11
Регистрация: 16.12.2007
Пользователь №: 48

Спасибо сказали: 0 раз(а)




Репутация:   0  


нет, а зачем тут connect если переопределяем реакцию на событие?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Багира
  опции профиля:
сообщение 16.12.2007, 15:37
Сообщение #10


Злоба_дня
***

Группа: Администратор
Сообщений: 314
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 2

Спасибо сказали: 16 раз(а)




Репутация:   4  


Цитата(Mitnick @ 16.12.2007, 16:36) *
нет, а зачем тут connect если переопределяем реакцию на событие?
Незачем, это виртуальная функция. :)
Просто пытаюсь понять, что сделал не так.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

2 страниц V   1 2 >
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 30.12.2024, 21:26