1 / 1 / 0
Регистрация: 06.04.2016
Сообщений: 45
1

QGraphicsItem изменение картинки по клику

30.04.2016, 20:34. Показов 1581. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем доброго времени суток) Начал изучать QGraphics в qt, не понимаю как изменить картинку по клику на нее: я создал сцену и помещаю туда объект класса, который унаследован от QGraphicsItem, рисуется эта картинка в переопределенном методе
C++ (Qt)
1
paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
, нажатие отлавливаю с помощью mousePressEvent, нужно чтобы по нажатию на эту картинку она менялась на другую, заранее спасибо)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.04.2016, 20:34
Ответы с готовыми решениями:

Плавное изменение цвета у QGraphicsItem
Всем привет! Хочется реализовать такую штуку: плавное изменение цвета у QGraphicsItem'a (например...

Как задействовать альфа канал у бэкграунд картинки в QGraphicsItem на QGraphicsScene ?
Привет! Делаю класс - наследник от QGraphicsProxyWidget, делаю класс формы, задаю его в прокси, для...

Изменение картинки по клику на кнопку
Запускаю страницу в Firefox - картинка не меняется Запускаю страницу в Google Chrome - картинка...

Qt 5. Включение QGraphicsItem в класс QGraphicsItem
Здравствуйте! Я, естессвенно, новичок в Qt :) Задача, вобщем-то, банальна: нужно сделать...

4
190 / 150 / 61
Регистрация: 08.04.2010
Сообщений: 1,020
30.04.2016, 21:23 2
В
C++ (Qt)
1
paint()
сделай выбор что рисовать используя
C++
1
case
а в
C++ (Qt)
1
mousePressEvent()
меняй значение переменной.
0
1 / 1 / 0
Регистрация: 06.04.2016
Сообщений: 45
30.04.2016, 21:55  [ТС] 3
как я понял функция paint у нас вызывается при перерисовке экрана, то есть когда мы первый раз запустили приложение - запустилась функция paint и отрисовала нужные нам объекты и все, а следующий раз она вызовется, когда мы, к примеру, свернем наше приложение и развернем, как мне сделать, чтобы эта переопределенная функция вызывалась постоянно?

Добавлено через 6 минут
не постоянно, а при mousePressEvent()
0
661 / 662 / 106
Регистрация: 29.05.2015
Сообщений: 3,964
01.05.2016, 08:19 4
В обработчике клика мыши вставь: this->repaint();
0
1 / 1 / 0
Регистрация: 06.04.2016
Сообщений: 45
01.05.2016, 09:59  [ТС] 5
выдает ошибку:
C++ (Qt)
1
2
3
'class New' has no member named 'repaint'
     this->repaint();
           ^
Нужно подключить какую-то библиотеку?

Добавлено через 1 час 30 минут
я поставил this->update() и заработало
0
01.05.2016, 09:59
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.05.2016, 09:59
Помогаю со студенческими работами здесь

увеличение картинки по клику
Подскажите пожалуйста, как увеличить картинку по клику, чтобы она размещалась скажем в левом...

увеличение картинки по клику
Объясните пожалуйста, как сделать чтобы картинка увеличивалась по клику и занимала скажем левый...

Движение картинки по клику
Здравствуйте, помогите реализовать идею: хочу, чтобы по первой кнопке из меню перемещался объект...

Увеличение картинки по клику
Доброго времени суток! Решил сделать увеличение картинки по клику и уменьшение картинки по второму...

По клику смена картинки
Добрый вечер, подскажите как сделать смену картинки по клику на кнопку... Вот что я наделал, на...

Закрытие картинки по клику
Как закрыть картинку по клику на нее? Если вказываю Close на картинку OnClick закрывается вся...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru