LINUX.ORG.RU

Чего то я не очень догнал. А что такого нового в нем, что мажорную версию сменили?

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

Война десктопов продолжается, KDE vs GNOME == Qt vs GTK, но все движутся в одном направлении. IMHO, главное изменение в Qt4 - это то, что они переписали рисовалку на нижнем уровне (aka QPainter, aka Arthur). Тоже самое сейчас делают гномы с их Cairo. Марк

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

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

anonymous
()

в скором времени стоит ждать kde 4.0? ;-)

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

eXOR удивляется не кол. изменений, а то что они
поменяли мажорную версию. Обычно это говорит, что новая версия
не является "not backward comatible" (в смысле, http://developer.kde.org/documentation/library/kdeqt/kde3arch/devel-binarycom...), что произошло при переходе с Qt2 на Qt3


Марк

carrot
()
Ответ на: комментарий от eXOR

Гражданин, пройдёмте по ссылке.

There are five new technologies that are new to Qt, written specifically for Qt 4:

* Tulip, a new set of template container classes.
* Interview, a model/view architecture for item views.
* Arthur, the Qt 4 painting framework.
* Scribe, the Unicode text renderer with a public API for performing low-level text layout.
* Mainwindow, a modern action-based mainwindow, toolbar, menu, and docking architecture.

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

Видишь ли, Марк, похоже что здесь все, кроме тебя, знают о KDE 4.0, отсутствию бинарной совместимости новой QT и т.п. Это неоднократно появлялось в новостях про KDE и QT. Поэтому никто не повторяется.

jackill ★★★★★
()

Одним из самых важных нововведений на мой взгляд является возможность создавать signal/slot соединения между тредами. Раньше для подобного мне приходилось сериализовать сигнал в событие и отправлять его в очередь сообщений, затем в основном треде ловить, десериализовать и уже запускать. Это очень важно для создания по-настоящему интерактивных приложений.

bd
()

Однако же не указана структура собранной библиотеки. Они её таки разделят на кучку файлов или же опять одним куском сделают ? Вроде собирались разделять, но в анонсе об этом ни слова.

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

хм... да сколько можно это обсасывать? они уже говорили, что сделают разделение на более мелкие (хотя, имхо, не всё, что стоило бы). И про совместимость было сказано все. Для непонятливых: да, бинарная несовместимость... Но будет спецбиблиотека, которая "эмулирует" Qt 3.x.x, так что после простой перекомпиляции должно все работать...

P.S.: Красноглазики! Ату меня! АТУ !!!

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

Разделили, разделили ;)

gremlin@linux:/usr/local/qt4/lib> ls -sh *
28K libqassistantclient.a
4,0K libqassistantclient.prl
4,0K libQt3Compat.la
4,0K libQt3Compat.prl
0 libQt3Compat.so
0 libQt3Compat.so.4
0 libQt3Compat.so.4.0
2,8M libQt3Compat.so.4.0.0
4,0K libQtCore.la
4,0K libQtCore.prl
0 libQtCore.so
0 libQtCore.so.4
0 libQtCore.so.4.0
1,6M libQtCore.so.4.0.0
4,0K libQtGui.la
4,0K libQtGui.prl
0 libQtGui.so
0 libQtGui.so.4
0 libQtGui.so.4.0
4,7M libQtGui.so.4.0.0
4,0K libQtNetwork.la
4,0K libQtNetwork.prl
0 libQtNetwork.so
0 libQtNetwork.so.4
0 libQtNetwork.so.4.0
292K libQtNetwork.so.4.0.0
4,0K libQtOpenGL.la
4,0K libQtOpenGL.prl
0 libQtOpenGL.so
0 libQtOpenGL.so.4
0 libQtOpenGL.so.4.0
136K libQtOpenGL.so.4.0.0
4,0K libQtSql.la
4,0K libQtSql.prl
0 libQtSql.so
0 libQtSql.so.4
0 libQtSql.so.4.0
224K libQtSql.so.4.0.0
4,0K libQtXml.la
4,0K libQtXml.prl
0 libQtXml.so
0 libQtXml.so.4
0 libQtXml.so.4.0
344K libQtXml.so.4.0.0
4,0K Qt3Compat.pc
4,0K QtCore.pc
4,0K QtGui.pc
4,0K QtNetwork.pc
4,0K QtOpenGL.pc
4,0K QtSql.pc
4,0K QtXml.pc

PS: Это не с беты, это еще с tech preview 1.

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

А вот и бета-тестер :) Вопрос - насколько я понял, новый графический движок может задействовать разные фичи видеокарт через OpenGL. Пишут, в бете этот QPaintEngine уже реализован для всех платформ.

Скорость отрисовки тестировалась ? Всякие фичи, типа аппаратного альфа-канала работают ? Возможно ли настроить либу на приоритетное использование именно этого движка вместо X11/Xrender ?

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

И еще под шумок - будет ли библиотека совместимости работать через OpenGL-движок, если он построен в основной либе ?

anonymous
()

Это всё здорово, но ещё лучше, если бы переделали модель Signal/Slot. Я понимаю, что когда это создавалось, вариантов было немного, но сейчас подобные вещи довольно просто делаются через шаблоны

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

>Это всё здорово, но ещё лучше, если бы переделали модель Signal/Slot. Я понимаю, что когда это создавалось, вариантов было немного, но сейчас подобные вещи довольно просто делаются через шаблоны

Что мне очень нравится в троллях - они всегда объясняют, почему и зачем они что-то делают/не делают. Практически всегда подобные решения объясняются глюками компиляторов. Например, если посмотреть на libSigC++, и на boost.signals, мы видим 2 варианта синтаксиса: который портабле и преферред. Для коммерческой библиотеки это недопустимо. Потому что одни будут орать про то, что старый синтаксис убогий, а другие про то, что новый на их VisualC++ 6 или сановском компилёре не работает, а покупать новую им нахрен не спёрлось.

PS. А чем конкретно не нравятся сигналы/слоты, кроме того, что "так не пишут?"

adarovsky ★★★★
()

Если мне склероз не изменяет, тролли хотели упростить встраиваемость QT Designer в разные IDE.

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

2 Eugene_Korobko:

> Это всё здорово, но ещё лучше, если бы переделали модель Signal/Slot.
> Я понимаю, что когда это создавалось, вариантов было немного, но
> сейчас подобные вещи довольно просто делаются через шаблоны

Рекомендую сходить сюда и прочитать. Лучше сначала, но можно
только секцию "Signals and slots".

http://www.telegraph-road.org/writings/gtkmm_vs_qt.html

Очень поучительно.
В qt whitepaper тоже неплохо написано, но там мнение может быть сочтено предвзятым, а тут пишет человек, побывавший "по обе стороны баррикад".

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

Помимо того, что мне не нравится сама идея использования специального препроцессора и макросов, которые вставляют в класс кучу методов, есть вполне конкретные претензии:

1. Сильно разбухает код. *moc файлы получаются немаленькие 2. Не поддерживаются nested-классы 3. Не поддерживаются шаблоны

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

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

Собственно, QT всё больше напоминает COM. moc-файлы фактичести являются библиотеками типов, которые используются для диспетчеризации. Вот и QSA (аналог WSH) появился.

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

> Помимо того, что мне не нравится сама идея использования специального > препроцессора и макросов, которые вставляют в класс кучу методов, есть > вполне конкретные претензии:

> 1. Сильно разбухает код. *moc файлы получаются немаленькие 2. Не
> поддерживаются nested-классы 3. Не поддерживаются шаблоны

Проекты собирать легко, отлаживать код (в том же kdbg) легко,
писать - очень удобно. Шаблоны поддерживаются (например, контейнеры
Qt-шные), nested классы - не знаю, не использовал ни разу.
Чего еще надо. Зачем компиляторы насиловать, в них и так постоянно
frontend C++ чистят. Не Страуструпом единым жив программер! :)





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

>может памяти меньше жрать будет???......

ну, тогда тебе прамая дорога - на жабу. она ОЧЕНЬ мало жрет. поверь.

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

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

При желании это обходится агрегированием QT-класса в шаблонном. Не особо изящно, но работает.

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

на жабу. она ОЧЕНЬ мало жрет

очередной anonymous писал: "на жабу. она ОЧЕНЬ мало жрет"

Это в каких попугаях товаришч?

carrot
()
Ответ на: на жабу. она ОЧЕНЬ мало жрет от carrot

diff Qt4, Qt3

jackill,
меня все равно мучает этот вопрос "что они поменяли?" (не путать с "добавили").
Ответь дилетанту, пожалуйста, или на худой конец -
"diff между 3 и 4 по headers для kernel и widgets"

Еще один дурацкий вопрос "а у них CVS log имеется?"
(или, что они там используют, rsync?). Любопытно было бы взглянуть ..

Mark

carrot
()
Ответ на: diff Qt4, Qt3 от carrot

2carrot: www.trolltech.com там все популярно расписано.

из того, что мне понравилось больше всего: GUI классы вынесли в отдельную библу и теперь можно пользоваться, например, QString, который не тянет за собой QApplication, QWidget, etc...

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

> www.trolltech.com там все популярно расписано.

Так бы и писал, что не знаешь. A то развел болтологию

> GUI классы вынесли в отдельную библу и теперь можно пользоваться, например, QString, который не тянет за собой QApplication, QWidget, etc...

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

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

мне влом. И не понятно, почему человек (автор вопроса) просит написать ему здесь то, что уже написали непосредственно разработчики на своем сайте.

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

offtopic: загадка

Сколько это стоит?

См. обьявление.

Hi all,

Mick Storr has approached me to see if there
is interest in having a training course on Qt
at CERN. Please find the details below and if you
are interested, please contact Mick directly,

Feel free to forward this to other people you
think might be interested ...

cheers, andreas

-------- Original Message --------
Subject: Qt training course
Date: Wed, 21 Apr 2004 15:16:34 +0200
From: Mick Storr <Mick.Storr@cern.ch>
To: Andreas Pfeiffer <Andreas.Pfeiffer@cern.ch>


The standard Qt programming training lasts 5 days. The target audience
is previously experienced programmers who have been exposed to C++. The
course instructor will be a developer with experience using Qt in a
commercial setting.

The course consists of a mixture of lectures, hands-on exercises and
guided programming sessions.

The standard course contents can be found at
http://www.trolltech.com/training/contents.html

As part of the course we can offer you a C++ refresher on the first day,
featuring an overview/refresh of C++ concepts and programming relevant
to Qt usage. We generally recommend this if the Qt course attendees have
limited experience with C++ and/or object-oriented programming.

carrot
()
Ответ на: offtopic: загадка от carrot

offtopic: разгадка

Ладно, не буду напрягать ...
Ответ см. ниже
Учитесь зарабатывать деньги на "бесплатном" софте!

The base price of the standard 5-day course is EUR 8800,
for 4 days the cost is EUR 7700. There is an additional
EUR 120 fee per student over the number of 8, up to a
maximum of 12 students. For purchase orders received less
than 4 weeks ahead of course start an extra EUR 1000 late
order charge is applied.

The price is all inclusive, covering the course conduct as
well as instructor travel, hotel and expenses. Printed
course materials and a copy of the O'Reilly book
"Programming with Qt" is also included.

carrot
()
Ответ на: комментарий от bd

вот это не круто, а очень круто. У меня тоже были проблемы с сигналами, посылаемыми из потоков.

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

> теперь можно пользоваться, например, QString, который не тянет за > собой QApplication, QWidget, etc...

Это можно было делать еще на Qt 1.x :) QString никогда не тянул за собой QApplication и QWidget. Разве что QObject когда-то мог захватить. Пример кода для Qt3:

#include <qstring.h> #include <stdio.h>

int main() { QString *x=new QString("qwe"); printf("DATA: '%s'\n",x->local8Bit().data()); delete x; return 0; }

Работает аж бегом. Единственное, что для его работы нужна полная бинарная либа Qt, но об этом уже говорили - библиотека разделена.

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