Компания Trolltech выпустила новую версию Qt. В списке изменений, в основном, исправление ошибок и улучшение производительности. Этот релиз, скорее всего, будет последним в ветке 4.1.
Тем, кто все ещё использует Qt3, стоит серьёзно задуматься о переходе на новую версию.
> Другими словами - старый глюк лучше новых двух :)
глупости какие... не бывает обобщенных багов
баг -- он всегда конкретный; он или тебе жить и работать мешает, или никак не проявляется и тебе на него наплевать. в первом случае надо обновляться, во втором -- может быть лучше и не трогать то что работает
количество багов взятое само по себе это примерно такой же показатель как количество строк кода -- т.е. к реальности отношение имеет, но очень опосредованное
постоянно всё обновлять имеет смысл только если есть твёрдое намерение поработать бета-тестером, т.е. исследовать обнаруженные баги и слать отчёты (и патчи) куда следует
>Ага. А гнаться за самым распоследним софтом - это не глупость ?
Ну кто-то же должен баги вылавливать, чтобы анонимусы могли стабильным и проверенным софтом пользоваться :) Есть еще тяга к познанию, ко всему новому, но тебе, я вижу, этого не понять. Старость - потеря способности усваивать все новое.
>В новейшей версии программы XXX есть супер фича YYY и нет ужасного бага ZZZ
В новейшей проге есть баг ZZZ, значит в старой его не было, но был ZZY, которого не было еще в более старой... Вывод: в наиболее старой проге есть аименьшее количество багов. В старой проге нет фичи XXX, но зато она также решала поставленную задачу с помощью фичи XXW (ведь не получилось же так, что с появлением фичи XXX стало возможным решат задачи, потребность в решении которых раньше не возникало? Иначе зачем решать то, что решать не нужно?). В еще более старой проге нет фичи XXW, ибо задача прекрасно решалась XXV. Вывод: программа любой версии решает одинаковое количество задач.
>Что это за мания такая - мешать людям обновляться?
Это только для тех, кто хочет реально работать. А так...я вовсе не против увеличения количества ничего не подозревающих бетта-тестеров. Ведь если человек узнает, что он - козел, то он начинает возмущаться, искать причины и т. д. А вот если узнает, что бетта-тестер, то начинает гордиться, хотя и не знает точно, что такое "бетта-тестер". И это несмотря на то, что ничего не подозревающий бетта-тестер это кто? Правильно! Если плодятся ничего не подозревающие козлы, то почему бы не плодиться ничего не подозревающим бетта-тестерам?
> У кого нибудь получилось воспользоваться Porting (qt3to4) хоть для какой нибудь программы?
Я пользовался, но потом всёравно надо ещё напильником шлифовать и шлифовать. Утилита выполняет в основном только механическую работу: меняет инклады, имена классов и всё.
Я лично перешел на qt 4 уже месяца 4 как. API конечно серьёзно изменено, но проект в 4000+ строк перелопатил под новую версию за час примерно (встроенный преобразователь фигня редкостная, после него вообще нифига не компилится) Тем более что 4-я версия есть свободная под винду. Теперь в институт таскаю не ноутбук с линуксом, а компилю в mingw с 4-й кутехой exe-шники и юзаю институтские машины.
>API конечно серьёзно изменено, но проект в 4000+ строк перелопатил под новую версию за час примерно
Можно поподробнее, пожалуйста. Как перелопатил, менял старые классы на аналогичные? Мне сейчас подобное предстоит 10000+ ;) Поделись опытом, пожалуйста.
Вот, воткнул Qt 4.1.3 на свою слаку, параллельно с 3.3. Собирал сам, с march=i686. Сама Qt4 тормозит или QtDesigner в ней такой обдолбанный, но на моей довольно сложной форме с TabWidget'ом при переключении табов - весьма конкретные тормоза, коих в 3.3 не было. Athlon-900, Matrox G400.
> PyQt4 сейчас на уровне бета-версии, т. е. для начала разработки более чем годится.
А кто-то тут из анонимусов о том что пользователи свежего софта в Linux никакого отношения к тестированию не имеют всё распинался на публику ;) динозавр
> В новейшей проге есть баг ZZZ, значит в старой его не было, но был ZZY, которого не было еще в более старой... Вывод: в наиболее старой проге есть аименьшее количество багов. Могут появлятся новые баги. Однако о старых багах уже всем известно, и есть возможность их использовать. Разница видна? > В старой проге нет фичи XXX, но зато она также решала поставленную задачу с помощью фичи XXW (ведь не получилось же так, что с появлением фичи XXX стало возможным решат задачи, потребность в решении которых раньше не возникало? Иначе зачем решать то, что решать не нужно?). Опять бред. Возможно задача решалась, но с использованием различных костылей. Или как раз потрбовалась возможность реализации функции, для этого попросили добавить (или добавилил) фичу XXX. > В еще более старой проге нет фичи XXW, ибо задача прекрасно решалась XXV. Вывод: программа любой версии решает одинаковое количество задач. Сравним линакс 0.99 и линакс 2.6.16? > Надеюсь, теперь понятно? Нет.
> В новейшей проге есть баг ZZZ, значит в старой его не было, но был ZZY, которого не было еще в более старой... Вывод: в наиболее старой проге есть аименьшее количество багов.
Могут появлятся новые баги. Однако о старых багах уже всем известно, и есть возможность их использовать. Разница видна?
> В старой проге нет фичи XXX, но зато она также решала поставленную задачу с помощью фичи XXW (ведь не получилось же так, что с появлением фичи XXX стало возможным решат задачи, потребность в решении которых раньше не возникало? Иначе зачем решать то, что решать не нужно?).
Опять бред. Возможно задача решалась, но с использованием различных костылей. Или как раз потрбовалась возможность реализации функции, для этого попросили добавить (или добавилил) фичу XXX.
> В еще более старой проге нет фичи XXW, ибо задача прекрасно решалась XXV. Вывод: программа любой версии решает одинаковое количество задач.
Сравним линакс 0.99 и линакс 2.6.16?
> Надеюсь, теперь понятно?
Нет.
>Можно поподробнее, пожалуйста. Как перелопатил, менял старые классы на аналогичные? Мне сейчас подобное предстоит 10000+ ;) Поделись опытом, пожалуйста
В общем да, менял. Правда иногда приходится менять логику работы - в 4-й версии существенно изменена работа QMainWidget, совсем стало непохоже на то как было раньше. Естесственно можно юзать штатный преобразователь а потом допилить код руками, но ИМХО правильней будет переписать - код получится чище и поддерживать его будет проще. А вообще никаких хитростей. Открыс себе KDevelop, развернул сырцы с документацией и дальше по схеме: компилю-смотрю на ошибку-смотрю в доку что поменялось-переписываю-и т.д. В целом если главное окошко переписать то дальше проще
> Сама Qt4 тормозит или QtDesigner в ней такой обдолбанный,
Второе. Кроме того, в нем еще поменяли идеологию. Теперь он предназначен исключительно для UI, то есть не умеет кучи всего, типа описания собственных слотов и методов класса. Зато UI полностью вынесено за пределы класса и включается отдельной переменной класса соответствующего типа.
По идее, это правильно, но по началу с непривычки после десигнера из qt3 жутко неудобно. Кнопок на форму накидаешь, а потом в коде сам им коннекты рисуешь :)
Кстати, мне так кажется, или QWidget стал невидимым ? Всё, что на нем накидано, есть, а его самого в качестве фона невидать.
шас зашёл на kde.org с мыслью прояснить када будут анонсы кедов намбер 4... молчание ( зато потом пошёл в раздел скриншотов - вспомнил, как выглядит кед 2.2 )
Ностальгия, понимаешь ) у меня тада мандрака 8.2 стояла ) Уж не помню в каком году )
>А если у меня сейчас стоит Qt 3.3, на которой крутится KDE 3.5.2, то после установки Qt 4.1 кедам трындец настанет?
С чего бы?
У меня дома (Debian testing) стоит и тройка, и четверка. Проги собираются и с той, и с другой. И работают, соответственно, и те, и другие =)
На работе потихоньку идет перевод проектов на 4-ку. Налицо видимые изменения в лучшую сторону (к примеру, отрисовку через QPainter они очень сильно улучшили в 4-й версии).
> Приведи мне хоть один довод в пользу этого stillborn изобретения :)
1. Не засоряется рабочий стол и панель задач
2. Окна паркуются к границам экрана, что на рабочем столе невозможно.
3. Нет лишней информации между окнами.