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

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

Страниц: [1] 2   Вниз
  Печать  
Автор Тема: Досадная ошибка в Qt 4.6?  (Прочитано 15083 раз)
OS2
Самовар
**
Offline Offline

Сообщений: 186



Просмотр профиля WWW
« : Декабрь 06, 2009, 13:23 »

После перехода на Qt 4.6 for Windows (VS 2008) перестал приходить ItemPositionHasChanged в QGraphicsItem::itemChange().
Для краткости приведу пример из главы 8, книги Жасмина Бланшета "Qt 4: Программирование GUI на С++ Изд. 2-е": при постановке на сцену Нодов и связывания их линиями перестал обрабатывается ItemPositionHasChanged в Итемах, со всеми вытекающими... В 4.5.3 этот примет корректно работал, что случилось в 4.6 - мне не ясно, может у кого-нибудь есть мнение на этот счет?

ЗЫ: пример прилагается...
Записан
Rcus
Гость
« Ответ #1 : Декабрь 06, 2009, 17:29 »

QGraphicsItem::ItemPositionHasChanged   9   The item's position has changed. This notification is sent if the ItemSendsGeometryChanges flag is enabled, and after the item's local position, relative to its parent, has changed. The value argument is the new position (the same as pos()), and QGraphicsItem ignores the return value for this notification (i.e., a read-only notification).
http://bugreports.qt.nokia.com/browse/QTBUG-5497
Записан
OS2
Самовар
**
Offline Offline

Сообщений: 186



Просмотр профиля WWW
« Ответ #2 : Декабрь 06, 2009, 23:53 »

Очередной мину тролям...
Записан
SABROG
Гость
« Ответ #3 : Декабрь 07, 2009, 00:14 »

Очередной мину тролям...

За что? Они отключили это оповещение, чтобы увеличить производительность потому, что большинству людей это сообщение не нужно. А то, что старые приложения перестают нормально работать после установки новых версий библиотек - так это нормально. У меня точно такая же история была с переходом с BCB6 на BDS2006. Пришлось программу переписывать, причем некоторый функционал пришлось вообще выкинуть из-за того, что в новой IDE просто тупо убрали компонент и не предоставили ничего нового взамен.
Записан
OS2
Самовар
**
Offline Offline

Сообщений: 186



Просмотр профиля WWW
« Ответ #4 : Декабрь 07, 2009, 00:52 »

Не надо все идеализировать... На книге написано: "Официально одобрено компанией Trolltech" и это, по моему мнению, ко многому обязывает, если их примеры работы с ихний же библиотекой, перестают работать при переходе на новую версию, то это именно им, огромный миииинус....
Записан
pastor
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 2901



Просмотр профиля WWW
« Ответ #5 : Декабрь 07, 2009, 01:10 »

Несагласен.

Если бы этот "баг" появился бы при переходе с 4.5.2 на 4.5.3, то да. Но мы имеем изменнием минорной версии. Об изиенениях было заявлено в чендж логе:

Цитировать
****************************************************************************
* Important Behavior Changes *
****************************************************************************
d) QGraphicsItem no longer calls itemChange() for position and
      transformation changes. If you want to receive notifications for changes
      to the item's position and transformation, you can set the flag
      QGraphicsItem::ItemSendsGeometryChanges (which is enabled by default by
      QGraphicsWidget and QGraphicsProxyWidget).


Так что батенька вы неправы
Записан

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
niXman
Гость
« Ответ #6 : Декабрь 07, 2009, 01:19 »

Цитировать
На книге написано: "Официально одобрено компанией Trolltech"
Книга для версии 4.6.0 ? - НЕТ!
Не бузи!
Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #7 : Декабрь 07, 2009, 01:54 »

А то, что старые приложения перестают нормально работать после установки новых версий библиотек - так это нормально.

Это НЕ нормально во время смены минорной версии
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #8 : Декабрь 07, 2009, 04:15 »

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

Я свои програмулины потестил и отписал что у меня "full compatible''
Записан

Юра.
crackedmind
Гость
« Ответ #9 : Декабрь 07, 2009, 04:25 »

Кстати, раз пошла такая пьянка. То только у меня в асистенте кнопка "Домой" ничего не делает?
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #10 : Декабрь 07, 2009, 04:37 »

к стати, асистент в 4.6, глюкавит при переходе по из предметного указателя в якоря, во вкладках исчезает заголовок, и область просмотра (видимо QWebView), через пару сек. прокручивается самовольно в начало страницы

>>"Домой" ничего не делает?
у меня работает (её можно настроить)
Записан

Юра.
SABROG
Гость
« Ответ #11 : Декабрь 07, 2009, 15:27 »

Хорошо, помогите мне восполнить пробел в знаниях. Где можно почитать стандарт/соглашение/правила, в котором написано о том какие изменения можно делать в мажорных/минорных и т.п. версиях?
Записан
SimpleSunny
Гость
« Ответ #12 : Декабрь 07, 2009, 15:41 »

Например тут (http://qt.gitorious.org/qt/pages/CodingConventions) (перевод http://translated.by/you/qt-coding-conventions/into-ru/)
Искать по словам "Binary and Source Compatibility" (Совместимость бинарных файлов и исходных кодов)
Записан
pastor
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 2901



Просмотр профиля WWW
« Ответ #13 : Декабрь 07, 2009, 15:59 »

Бинарная совместимость нарушена? - Нет
Совместимость на уровне исходного кода нарушена? - Нет
Important Behavior Changes в логе скрыли? - Нет

О чем речь?
Записан

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
SABROG
Гость
« Ответ #14 : Декабрь 07, 2009, 16:28 »

Например тут (http://qt.gitorious.org/qt/pages/CodingConventions) (перевод http://translated.by/you/qt-coding-conventions/into-ru/)
Искать по словам "Binary and Source Compatibility" (Совместимость бинарных файлов и исходных кодов)

Вы забываете, что слово "keep" также переводится как: "придерживаться, соблюдать, поддерживать"

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


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