Russian Qt Forum

Qt => Общие вопросы => Тема начата: west от Апрель 26, 2005, 12:34



Название: Перевод с Qt 2.3.0 на 3.3.3
Отправлено: west от Апрель 26, 2005, 12:34
Перетаскивал ли кто-нибудь проекты с Qt 2.3.0 на Qt 3.3.3? Не возникало ли следующих "глупых" проблем:
1. Разноцветные линии стали все черными
2. Исчезла прозрачность объектов.
3. В запущенном потоке postEvent()   выдает сообщение, что поток не проинициализирован, соответственно ничего не передается.
Несколько еще таких же проблем с интерфейсом.
Что это, нормально или может библиотека какая-то левая?


Название: Перевод с Qt 2.3.0 на 3.3.3
Отправлено: Racheengel от Апрель 26, 2005, 13:00
возможно, это связвно с изменением некоротых методов. Надо исследовать все места, где такие проблемы проявились.


Название: Перевод с Qt 2.3.0 на 3.3.3
Отправлено: west от Апрель 26, 2005, 15:12
Этим сейчас и занимаюсь. Только вот чем дальше, тем больше багов появляется в проекте. А для принятия решения всего осталось ... дней.  :(


Название: Перевод с Qt 2.3.0 на 3.3.3
Отправлено: Admin от Апрель 26, 2005, 15:14
переходить в любом случае надо
разработчик должен быть в курсе разработки продуктов которыми он пользуется

таким образом он и себе еще помогает


Название: Re: Перевод с Qt 2.3.0 на 3.3.3
Отправлено: Sergeich от Апрель 26, 2005, 16:13
Цитата: "west"

2. Исчезла прозрачность объектов.

В Assistant в статье Porting to Qt 3.x :
Transparent widgets
In Qt 2.x, the AutoMask property was used to obtain a transparent-looking widget. In general, this approach is slow and processor hungry. Qt 3.0 uses the BackgroundOrigin which provides vastly improved performance and more flexibility in most cases. The few classes for which the AutoMask property is still the best approach are QCheckBox, QComboBox, QPushButton, QRadioButton and QTabWidget.
Цитата: "west"

3. В запущенном потоке postEvent() выдает сообщение, что поток не проинициализирован, соответственно ничего не передается.

Попробуй через QApplication::postEvent().
Цитировать

void QThread::postEvent ( QObject * receiver, QEvent * event ) [static]
This function is obsolete. It is provided to keep old source working. We strongly advise against using it in new code.
Use QApplication::postEvent() instead.