Russian Qt Forum
Ноябрь 24, 2024, 22:03 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 [2]   Вниз
  Печать  
Автор Тема: [4.2.3] Непонятный баг  (Прочитано 13503 раз)
vaprele07
Гость
« Ответ #15 : Август 10, 2007, 14:34 »

Я думал ты догадаешься и сделаешь его наследником  :mrgreen:, это не баг это многозадачность.
Записан
Разуев Максим
Гость
« Ответ #16 : Август 10, 2007, 14:52 »

Тут вылазит другая проблема, наследником можно сделать, но вот при вставке макроса Q_OBJECT комилятор ругается. То есть нельза заюзать систему сигналов/слотов. А без нее и таймер бессмыленен.
Но я наконец окончательно разобрался с QTimeLine и всетаки сделал мигание.
Хотя баг никуда не делся.
Записан
pastor
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 2901



Просмотр профиля WWW
« Ответ #17 : Август 10, 2007, 15:30 »

Цитата: "Разуев Максим"
Тут вылазит другая проблема, наследником можно сделать, но вот при вставке макроса Q_OBJECT комилятор ругается. То есть нельза заюзать систему сигналов/слотов. А без нее и таймер бессмыленен.


Т.е. ты имеешь ввиду, если наследоваться вот так:

Код:
class MyItem : public QGraphicsItem, public QObject
{
    Q_OBJECT

public slots:
    .....

signals:
    ....
};


То будет ругаться компилятор? А на что он ругаетья?
Записан

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
Tonal
Гость
« Ответ #18 : Август 10, 2007, 15:43 »

Если вызывается деструктор - значит объект кто-то уничтожает - это же элементарно. ;-)
Поставь там точку останова и посмотри стек вызовов.
Похоже какой-то сигнал проскакивает...
Записан
Разуев Максим
Гость
« Ответ #19 : Август 10, 2007, 15:44 »

Код:

1>.\GeneratedFiles\Debug\moc_GraphicsHotSpotItem.cpp(37) : error C2039: 'staticMetaObject' : is not a member of 'QAbstractGraphicsShapeItem'
1>        f:\qt\4.2.3c\include\qtgui\../../src/gui/graphicsview/qgraphicsitem.h(306) : see declaration of 'QAbstractGraphicsShapeItem'
1>.\GeneratedFiles\Debug\moc_GraphicsHotSpotItem.cpp(53) : error C2039: 'qt_metacast' : is not a member of 'QAbstractGraphicsShapeItem'
1>        f:\qt\4.2.3c\include\qtgui\../../src/gui/graphicsview/qgraphicsitem.h(306) : see declaration of 'QAbstractGraphicsShapeItem'
1>.\GeneratedFiles\Debug\moc_GraphicsHotSpotItem.cpp(58) : error C2039: 'qt_metacall' : is not a member of 'QAbstractGraphicsShapeItem'
1>        f:\qt\4.2.3c\include\qtgui\../../src/gui/graphicsview/qgraphicsitem.h(306) : see declaration of 'QAbstractGraphicsShapeItem'
Записан
pastor
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 2901



Просмотр профиля WWW
« Ответ #20 : Август 10, 2007, 15:54 »

2 Разуев Максим: Вы унаследовали свой итем от QObject или нет?

Код:

class MyItem : public QGraphicsItem, public QObject
Записан

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
Разуев Максим
Гость
« Ответ #21 : Август 10, 2007, 16:27 »

Да

добавлено спустя 4 минуты:

 
Цитата: "Tonal"
Если вызывается деструктор - значит объект кто-то уничтожает - это же элементарно. ;-)
Поставь там точку останова и посмотри стек вызовов.
Похоже какой-то сигнал проскакивает...


Я уже писал что отследил уничтожение. Удаляется родительский обьект, но удаляется он раньше, потом создается новый и к нему добавляются мои итемы. Но по трассингу удаление вызывается(точнее деструкторы) уже после создания нового обьекта.
Указатель на обьект у меня хранится в переменной класса QGraphicsView(точнее наследного от него).
Записан
Страниц: 1 [2]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.094 секунд. Запросов: 23.