LINUX.ORG.RU

Qt 4.4

 ,


0

0

На сайте Trolltech стала доступна для загрузки новая версия этого замечательного кросс-платформенного тулкита для разработки приложений.

Из нововведений:

  • Теперь - под GPLv3.
  • Встроенная поддержка мультимедийного движка Phonon и веб-движка WebKit.
  • Поддержка новых платформ: Windows CE и Embedded Linux.
  • Улучшенная система помощи QHelpSystem на замену устаревшему Assistant.
  • Поддержка мультипоточности (Concurrency Framework) без необходимости внедрения дополнительных примитивов в программу.
  • Поддержка виджетов в QGraphicsView. Пример применения: http://tinyurl.com/4l3zu4.
  • Улучшения работы с XML (поддержка стандартов XQuery 1.0 и XPath 2.0).
  • Новые возможности межпрограммного взаимодействия, с фокусировкой на общее использовании памяти (shared memory).
  • Переделана системы управления печатью.
  • Локализация на испанский и традиционный китайский.

В KDE 4.1 будет использоваться именно эта версия Qt.

Официальной новости пока нет, есть список изменений для разработчиков: http://trolltech.com/developer/notes/...
Также несколько интересных нововведений рассмотрено в официальном обзоре RC1: http://trolltech.com/products/qt/what...

>>> Загрузка исходников

★★★★★

Проверено: Tima_ ()
Последнее исправление: cetjs2 (всего исправлений: 1)

Ответ на: комментарий от gaa

> Я могу через dd пересылать данные какой-нибудь проприетарной штуковине, которую никто под gstreamer переписывать не собирается. Но не суть. Важна сама _возможность_ это делать.

Ну так пожалуйста, данные из stdin в граф затягивать можно :)

mv ★★★★★
()
Ответ на: комментарий от mv

> А его и не пишут. На сколько мне видно, на голых сях сейчас только базовые библиотеки делают,

gimp, gnumeric, abiword -- на C. Это как минимум.

> а гуйня в тех же редхатоидах поголовно на питоне сделана.

Вот. И нахрена, спрашивается, было городить огород из ООП на Ц, если всё равно это обёртывается питоном. К которому, скажем прямо, есть более удобный tkinter.

> Ну будет cells-qt, cells-motif, cells-tk, что изменится? Фишка в том, что использоваться будет cells, а не xlib, gtk или qt, или ещё что.

tk и без обвязок хорош. Да и сомневаюсь я, что его будет легко обвязать.

А лишняя абстракция ну асболютно не нужна. Ибо будет громоздка и неповоротлива.

> К тому же, qt мешает две вещи: лицензирование для коммерческого использования и полный контроль со стороны одной компании. Для бизнеса это неслабые контрагрументы, что мы и наблюдаем.

Лично я не наблюдаю ни одной проприетарной программы на gtk в своей гнусной проприетарной деятельности. На tk, на qt, на свинге вижу, а на gtk -- ни одной.

gaa ★★
()
Ответ на: комментарий от vold

Так или иначе мы наблюдаем процесс усиления интеграции Гнома и Кед (будь то D-Bus или GStreamer). И это радует, ибо способствует улучшению взаимодействия между программами и унификации платформы Linux. А конкуренция QT-GTK+ будет вечной, лишь бы у пользователей всё работало независимо от рабочего стола, который они выберут.

vold ★★★★★
()
Ответ на: комментарий от mv

>К тому же, qt мешает две вещи: лицензирование для коммерческого использования

Халявы не будет.

>и полный контроль со стороны одной компании.

Ну да, когда про qt говорят "зоопарк", подразумевают gtk.

>Для бизнеса это неслабые контрагрументы, что мы и наблюдаем.

Поэтому шароварщики "вася и его кот" qt не юзают.

wfrr ★★☆
()
Ответ на: комментарий от mv

>> Я могу через dd пересылать данные какой-нибудь проприетарной штуковине, которую никто под gstreamer переписывать не собирается. Но не суть. Важна сама _возможность_ это делать.

> Ну так пожалуйста, данные из stdin в граф затягивать можно :)

Нет, меня интересует возможность делать произвольное звено таким, чтоб реализующая его программа работала только с stdin/stdout.

gaa ★★
()
Ответ на: комментарий от anonymous

> Ущербность такого подхода легко видеть на примере wxWidgets.

А вы про cells почитайте. Оно вообще не для абстрагирования над множеством других графических тулкитов сделано.

mv ★★★★★
()
Ответ на: комментарий от gaa

>> Поподробнее, как gstreamer связан с gnome кроме того, что это тоже программа?

> gobject-ом. Для любителей попридираться: я считаю, что проблемы гтк/гнома растут как раз из gobject.

Что-то интересное вы курите... :)

cruxish ★★★★
()
Ответ на: комментарий от mv

А тут, тем более это не оффтопик и имеет непосредственное отношение, и вообще вы ломаетесь как девушка перед кроватью.

wfrr ★★☆
()
Ответ на: комментарий от gaa

> gimp, gnumeric, abiword -- на C. Это как минимум.

Особенно gimp, который на gimp tool kit написан :)

> tk и без обвязок хорош. Да и сомневаюсь я, что его будет легко обвязать.

Почему? Взаимодейстие с tk очень просто сделать же

> А лишняя абстракция ну асболютно не нужна. Ибо будет громоздка и неповоротлива.

Ну так на tk только интерфейс делают

> Лично я не наблюдаю ни одной проприетарной программы на gtk в своей гнусной проприетарной деятельности. На tk, на qt, на свинге вижу, а на gtk -- ни одной.

Я лично одну делал :-D Которую за пределами компании никто и не должен видеть. А уж тем более, её сорцы ;)

mv ★★★★★
()
Ответ на: комментарий от gaa

> Нет, меня интересует возможность делать произвольное звено таким, чтоб реализующая его программа работала только с stdin/stdout.

Ты бы лично пользовался bashstreamer'ом? :) Который mp3 не может проиграть даже на топовом процессоре?

mv ★★★★★
()
Ответ на: Re^4: Qt 4.4 от dikiy

>а нафиг это вообще реализовывать?

это называется HIG'анутый Способ Мышления

>Кому оно мешает? Наиболее оптимальное решение - отключить прорисовывание окна в момент ресайза.

А у тебя такого правильного никто не будет спрашивать, как ему лично настроить _свой_ DE. Юзай свои тормозные и глючные костыли в гордом одиночестве, или в компании таких же аутистов, как ты.

anonymous
()
Ответ на: комментарий от prizident

> Есть задача написать приложение, которое будет работать с сетью, гарфикой, вебом и еще кучей чего-нибудь.

Вот мы наконец-то и определились, для чего на самом нужен Qt.

Вы ещё забыли, что это приложение должно быть кросс-платформенным и запускаться как на Windows Vista, так и на Windows CE.

cruxish ★★★★
()
Ответ на: комментарий от wfrr

> А тут, тем более это не оффтопик и имеет непосредственное отношение, и вообще вы ломаетесь как девушка перед кроватью.

Ok. В C++ нет метаобъектного протокола, нет дженериков, нет комбинаций методов, неразвитая система исключений. Хватит?

mv ★★★★★
()
Ответ на: комментарий от anonymous

> это называется HIG'анутый Способ Мышления

Какое отношение имеет способ мышления к советам по созданию графических интерфейсов?

cruxish ★★★★
()
Ответ на: комментарий от cruxish

>Вы ещё забыли, что это приложение должно быть кросс-платформенным и запускаться как на Windows Vista, так и на Windows CE.

них*я мы венде не должны =)

anonymous
()
Ответ на: комментарий от mv

> Особенно gimp, который на gimp tool kit написан :)

Ну вот только в гимпе использование GTK и оправдано :)

> Почему? Взаимодейстие с tk очень просто сделать же

grid [ button .b -text "kuku$text" -command {$clickCommand} ] можно легко переписать на каком-нибудь языке со статической типизацией, не втаскивая внутрь tcl-ный интерпретатор?

> Я лично одну делал :-D Которую за пределами компании никто и не должен видеть. А уж тем более, её сорцы ;)

Я, конечно, удивлю, но внутри компании можно использовать и GPL-версию :)

gaa ★★
()
Ответ на: комментарий от mv

>В C++ нет метаобъектного протокола, нет дженериков, нет комбинаций методов, неразвитая система исключений. Хватит?

А в каком языке с приличным оптимизирующим компилятором есть вся эта никому не нужная (по большому счету) х*ета?

anonymous
()
Ответ на: комментарий от cruxish

>Какое отношение имеет способ мышления к советам по созданию графических интерфейсов?

педгиновцы знают ;-D

anonymous
()
Ответ на: комментарий от mv

>> Нет, меня интересует возможность делать произвольное звено таким, чтоб реализующая его программа работала только с stdin/stdout.

> Ты бы лично пользовался bashstreamer'ом? :) Который mp3 не может проиграть даже на топовом процессоре?

Не надо мне говорить, что мне нужно, а что -- нет. Я должен иметь такую возможность, иначе это не юникс-вей.

gaa ★★
()
Ответ на: комментарий от mv

> Ok. В C++ нет метаобъектного протокола, нет дженериков, нет комбинаций методов, неразвитая система исключений. Хватит?

+ нет контроля типов в шаблонах, нет лямбд, нет в явном виде замыканий, нет рефлексии :)

gaa ★★
()
Ответ на: комментарий от anonymous

> А в каком языке с приличным оптимизирующим компилятором есть вся эта никому не нужная (по большому счету) х*ета?

А какая х*ета нужна?

mv ★★★★★
()
Ответ на: комментарий от gaa

> + нет контроля типов в шаблонах, нет лямбд, нет в явном виде замыканий, нет рефлексии :)

И препроцессор с шаблонами там тоже говно

mv ★★★★★
()
Ответ на: комментарий от anonymous

К тому, что подавляющее большинство софта, написанного с использованием Qt, не использует и половины всего того функционала, который в него вложен. Вот покажите мне кросс-платформенное приложение (KDE не в счёт), для которого потребуется WebKit, Phonon и "поддержка виджетов в QGraphicsView"... ;)

cruxish ★★★★
()
Ответ на: комментарий от mv

>В C++ нет метаобъектного протокола,

Ага это неотъемлемая часть ооп

>нет дженериков

Templates?

>нет комбинаций методов,

аналогично П.1

>неразвитая система исключений.

Есть мнения, что исключения ненужны. Или вам нужно чтобы компилятор тыкал вас носом ежели тут может выскочить исключение?

>Хватит?

Неа.

wfrr ★★☆
()
Ответ на: комментарий от mv

>А какая х*ета нужна?

Да в том то и дело, что на практике никакая не нужна, но почему-то красноглазики очень любят подчеркнуть исключительную важность и необходимость на каком-нибудь сферическом примере из школьных задач по программированию

anonymous
()
Ответ на: комментарий от cruxish

> Вот покажите мне кросс-платформенное приложение (KDE не в счёт), для которого потребуется WebKit, Phonon и "поддержка виджетов в QGraphicsView"... ;)

konqueror

gaa ★★
()
Ответ на: комментарий от cruxish

> Вот покажите мне кросс-платформенное приложение (KDE не в счёт), для которого потребуется WebKit, Phonon и "поддержка виджетов в QGraphicsView"... ;)

Веб браузер.

wfrr ★★☆
()
Ответ на: комментарий от wfrr

>> В C++ нет метаобъектного протокола,

> Ага это неотъемлемая часть ооп

с ним удобнее

>> нет дженериков

> Templates?

Сосут, там проверки типов нет. А уж какие многостраничные нечитаемые ошибки валит компилятор, когда поставишь в тимплейте скобочку не там....

gaa ★★
()
Ответ на: комментарий от wfrr

>>В C++ нет метаобъектного протокола,

> Ага это неотъемлемая часть ооп

Определение ООП на бочку

>>нет дженериков

> Templates?

Ну вот, ты опять не в теме.

>>нет комбинаций методов,

>аналогично П.1

Я не сомневался.

>>неразвитая система исключений.

> Есть мнения, что исключения ненужны. Или вам нужно чтобы компилятор тыкал вас носом ежели тут может выскочить исключение?

Есть мнение, что С++ не нужен.

>>Хватит?

> Неа.

Зато мне уже хватит, всё ясно.

mv ★★★★★
()
Ответ на: комментарий от wfrr

> Множественное наследование 8)

На деле оказываеться, что никакая х*ета для ООП не нужна (см. gtk). И Си тоже не нужен, всё то же самое можно на ассемблере написать.

mv ★★★★★
()
Ответ на: комментарий от cruxish

> Я ещё раз повторю, что KDE не в счёт, т.к. это просто реклама Qt.

konqueror -- вполне себе реальное, отделимое от кедов приложение. Хотя фырфыр выразился более общо, сказав про браузер.

gaa ★★
()
Ответ на: комментарий от gaa

Если вы не в курсе, то проигрывает звук флеш-плеер.

Для воспроизведения мультимедийного контента опять-таки используется отдельный инструмент - например, плагин totem.

cruxish ★★★★
()
Ответ на: комментарий от cruxish

> Если вы не в курсе, то проигрывает звук флеш-плеер.

да, облажался-с :)

> Для воспроизведения мультимедийного контента опять-таки используется отдельный инструмент - например, плагин totem.

Это уже удел авторов браузера, как воспроизводить звук.

Кстати, созрел ещё один пример: программа a'la PowerPoint. Свистелки, перделки, html и тягание виджетов.

gaa ★★
()
Ответ на: комментарий от gaa

> с ним удобнее

А на ruby писать удобнее, но тормозит. Так что в Ж.

wfrr ★★☆
()
Ответ на: комментарий от gaa

> Это уже удел авторов браузера, как воспроизводить звук.

Знаете, по моему, лучше использовать плагин, который воспроизводит контент через gstreamer (totem)/directx (wmplayer), чем какой-то дополнительный уровень абстракции, который будет делать ровно то же самое.

cruxish ★★★★
()
Ответ на: комментарий от mv

>Ну вот, ты опять не в теме.

А подробнее или как с гстримером ?

>Я не сомневался.

Хоть в чемто согласились.

> Есть мнение, что С++ не нужен.

Есть мнение что вышеперичесленные "неотьемлемые части ООП" ненужны. Ибо отсутствие типизации тоже какбэ улучшает абстракцию.

wfrr ★★☆
()
Ответ на: комментарий от cruxish

>Если вы не в курсе, то проигрывает звук флеш-плеер.

И виснет....

>Для воспроизведения мультимедийного контента опять-таки используется отдельный инструмент - например, плагин totem.

Пальцем в жопу! Фоновые звуки играются браузером. Да и ваши плагины реализованы калично, то виснут то качают все ради проигрывания кусочка.

wfrr ★★☆
()
Ответ на: комментарий от cruxish

> Знаете, по моему, лучше использовать плагин, который воспроизводит контент через gstreamer (totem)/directx (wmplayer), чем какой-то дополнительный уровень абстракции, который будет делать ровно то же самое.

В итоге, для кроссплатформенного приложения, внутри придётся переизобрести этот уровень абстракции заново. Viva, bicycle!

gaa ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.