![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
Darvin |
![]()
Сообщение
#1
|
Студент ![]() Группа: Новичок Сообщений: 36 Регистрация: 30.11.2007 Пользователь №: 30 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Подскажите правильный общий метод решения следующей задачи.
Наследую class MyPixmap: public QPixmap //в котором добавлено дополнительное описание объекта Pixmap { ... public: //пусть пока так MyType X; //некоторое описание ... } MyPixmap::MyPixmap(const QString& filename, MyType _x):QPixmap(filename) { X=_x; } Загружаю картинку, делаю приведение типов и добавляю картинку в сцену используя стандартные функции QT. QGraphicsPixmapItem *item = scene->addPixmap((QPixmap)MyPixmap("my_file.jpg",x_value)); В сцену добавляется QPixmap, но сцена ничего не знает о новых членах(X) класса MyPixmap. Замечу, что я сознательно не стал заводить внешнюю переменную MyPixmap или расширять класс сцены, в котором для каждого QGraphicsPixmapItem, должен быть сопоставлен MyPixmap с описанием. При этом придется написать много лишнего кода, для обслуживания данного соотвествия. Хочу в любом месте программы получить доступ к членам класса MyPixmap, выполнив простое приведение типов ((MyPixmap *)(&(item->pixmap())))->X Никак не получается. Наверное это неправильно? Как сделать лучше? |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 14.6.2025, 18:37 |