crossplatform.ru

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

> Конструктор не существует, но работает..., Объясните, как такое может быть?
Darvin
  опции профиля:
сообщение 3.12.2007, 8:06
Сообщение #1


Студент
*

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

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




Репутация:   0  


Создаю экземпляр картинки и добавляю его в сцену
item = new QGraphicsPixmapItem("FileName.jpg");
scene.addItem(item);

Как видно, я использую конструктор вида
QGraphicsPixmapItem(const QString& path);
и он работает правильно, картинка загружается и добавляется!

Однако, в исходниках нахожу вот такое определение класса QGraphicsPixmapItem, в нем нет такого конструктора.
В Ассистенте тоже самое.

class Q_GUI_EXPORT QGraphicsPixmapItem : public QGraphicsItem
{
public:
    enum ShapeMode {
        MaskShape,
        BoundingRectShape,
        HeuristicMaskShape
    };

    QGraphicsPixmapItem(QGraphicsItem *parent = 0
#ifndef Q_QDOC
                        // obsolete argument
                        , QGraphicsScene *scene = 0
#endif
        );
    QGraphicsPixmapItem(const QPixmap &pixmap, QGraphicsItem *parent = 0
#ifndef Q_QDOC
                        // obsolete argument
                        , QGraphicsScene *scene = 0
#endif
        );


Объясните, что это за колдунство?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
ViGOur
  опции профиля:
сообщение 3.12.2007, 10:35
Сообщение #2


Мастер
******

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

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




Репутация:   40  


То что ты привел, компилится и в дебагере видно, что при попадении в коструктор MyPixmapItem, неявно вызывается конструктор для QPixmap.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме
- Darvin   Конструктор не существует, но работает...   3.12.2007, 8:06
- - Admin   Может быть твоя запись: QGraphicsPixmapItem(...   3.12.2007, 8:42
|- - Darvin   Цитата(Admin @ 3.12.2007, 8:42) Может быт...   3.12.2007, 10:00
|- - ViGOur   Цитата(Darvin @ 3.12.2007, 10:00) Пока не...   3.12.2007, 10:11
|- - Darvin   Цитата(ViGOur @ 3.12.2007, 10:11) Цитата(...   3.12.2007, 10:22
- - ViGOur   А ты поставь точку останова на item = new QGraphic...   3.12.2007, 8:59
- - ViGOur   То что ты привел, компилится и в дебагере видно, ч...   3.12.2007, 10:35
|- - Darvin   Цитата(ViGOur @ 3.12.2007, 10:35) То что ...   3.12.2007, 10:47
- - ViGOur   Вот пример неявного преобразования, не знаю наскол...   3.12.2007, 10:59
|- - Darvin   Вот еще бы понять, по каким правилам C++ это проис...   3.12.2007, 11:10
|- - ViGOur   Цитата(Darvin @ 3.12.2007, 11:10) Вот еще...   3.12.2007, 11:12
|- - Darvin   Цитата(ViGOur @ 3.12.2007, 11:12) преобра...   3.12.2007, 11:20
- - ViGOur   Я пытаюсь найти описание данного преобразования, п...   3.12.2007, 11:23
- - Andrew Selivanov   Цитата(Darvin @ 3.12.2007, 11:00) Цитата(...   3.12.2007, 11:25
- - ViGOur   Я создал отдельную тему в разделе Техника программ...   3.12.2007, 11:36


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


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




RSS Текстовая версия Сейчас: 15.1.2025, 12:31