С Новым годом! Форум программистов, компьютерный форум, киберфорум
C++ Qt
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 30.03.2014
Сообщений: 7
1

Перенос картинки в QGraphicScene

30.03.2014, 22:10. Показов 1170. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Имеется такая штука, рисуем на QGraphicScene картинку из файла.
C++
1
2
3
QPixmap robot("D:/1.png");
QGraphicsPixmapItem *item = scene->addPixmap(robot);
item->setPos(0,0);
Нужно переместить эту картинку по нажатию кнопки. Кнопку создал, она работает, но не могу описать слот.
Например если пишу в слоте так:

C++
1
2
3
4
void Dialog::on_pushButton_clicked() 
{
  item->moveBy(10,0); 
}
Всё собирается и запускается, но при нажатии на кнопку получаю КРАШ. Помогите, как мне сдвинуть Pixmap нажимая кнопку

 Комментарий модератора 

Уважаемый будьте любезны, в следующий раз создавая тему, придумайте ей более информативное название, иначе тема будет удалена а Вам будет выписано предупреждение! Спасибо за понимание.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.03.2014, 22:10
Ответы с готовыми решениями:

QGraphicScene
доброго времени суток. подскажите пажалста, как разместить текст в эл-те QGraphicsScene в...

Изменить точку центрирования в QGraphicscene/QgraphicsView
День добрый всем. Решил поиграться с графикой и начал разбирать как работает...

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

Перенос текста, а не картинки
Здравствуйте. У меня есть запрос из БД я вывожу текст и картинку, сейчас у меня выглядит так ...

4
43 / 21 / 5
Регистрация: 27.08.2012
Сообщений: 51
31.03.2014, 09:49 2
Лучший ответ Сообщение было отмечено Sharingan как решение

Решение

создайте указатель на QGraphicsPixmapItem в классе Dialog:
C++ (Qt)
1
2
3
4
class Dialog : public QDialog {
private:
    QGraphicsPixmapItem* item;
};
В конструкторе инициализируйте:
C++ (Qt)
1
2
3
4
5
Dialog::Dialog(QWidget* parent) {
    QPixmap robot("D:/1.png");
    item = scene->addPixmap(robot);
    item->setPos(0,0);
}
теперь вращайте его как хотите
1
0 / 0 / 0
Регистрация: 30.03.2014
Сообщений: 7
31.03.2014, 16:41  [ТС] 3
Спасибо Вам огромное, сколько я времени потратил, а Вы мне за 1 минуту всё разъяснили.

Всё супер работает, правда я не понял почему так, как сделал я, не сработало, я тоже делал указатель в хедер файле.
Разница получается только в этой строчке
C++
1
item = scene->addPixmap(robot);
0
596 / 396 / 79
Регистрация: 23.10.2013
Сообщений: 1,143
31.03.2014, 16:55 4
Цитата Сообщение от Sharingan Посмотреть сообщение
Всё супер работает, правда я не понял почему так, как сделал я, не сработало, я тоже делал указатель в хедер файле
Потому, что вот в этой строчке:
Цитата Сообщение от Sharingan Посмотреть сообщение
QGraphicsPixmapItem *item = scene->addPixmap(robot);
Вы объявляете новый указатель, который уничтожается при выходе из блока, в котором объявлен.
Вы плохо знаете ООП.
1
0 / 0 / 0
Регистрация: 30.03.2014
Сообщений: 7
31.03.2014, 17:01  [ТС] 5
Спасибо ещё раз, очень благодарен, тему можно закрывать ^_^
0
31.03.2014, 17:01
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
31.03.2014, 17:01
Помогаю со студенческими работами здесь

Перенос картинки из listView на Panel
Добавил listView. Через диалоговое окно загружаю в него картинки в виде набора айтемов. А вот как...

Перенос картинки из поля OLE в Word
Уважаемые господа! Нужна помощь по следующей теме! 1. Есть таблица с данными менеджера в поле...

Загрузка картинки (имя картинки заносится в базу, но на сервер она не закачивается)
Добрый вечер! Друзья выручайте... Набросал код (кое что взял с Интернета) для загрузки картинок:...

Записываю в таблицу картинки из Img контрола, как узнать размер картинки?
Заполняю в цикле Img контейнер картинками из shape группы из эксела. Картинки могут быть реальными...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru