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

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

Страниц: 1 ... 7 8 [9] 10 11 ... 14   Вниз
  Печать  
Автор Тема: Qt vs VCL  (Прочитано 124984 раз)
f-r-o-s-t
Гость
« Ответ #120 : Июль 13, 2009, 17:26 »

- Qt требует наличия рантайма в виде QtCore, QtGui и т.д. (хотя это частично можно обойти статической линковкой)
Не знаток делфи... А там библиотеки никакие не используются. Может стоит глянуть в зависимости.
Используются конечно =)
Записан
alex12
Гость
« Ответ #121 : Июль 13, 2009, 17:33 »

- В Qt нет возможности использовать исключения.
- Qt дизайнер и концепция сигналов слотов не позволяет сразу сгенерировать обработчик в сырце для кодирования.
- У Qt дизайнера нет возможности добавить на форму не визуальный компонент.
- Qt требует наличия рантайма в виде QtCore, QtGui и т.д. (хотя это частично можно обойти статической линковкой)
- Скорость сборки приложения на Qt в разы медленнее, чем на Delphi. К примеру, сравните скорость ребилда Qt и VCL,
  для случая, когда вносились изменения сами эти библиотеки.

Использование Qt подразумевает знание C++. Чем лучше знание C++ и принципов функционирования ОС, тем меньше недопонимания про скорость сборки (которая зависит только от компилятора), отличия рантайма от зависимостей, механизм исключений и т.д.

Qt - это просто C++ библиотека. Дизайнер - просто помощник создания нудного кода. Все остальное - это достоинства и недостатки C++.
« Последнее редактирование: Июль 13, 2009, 18:00 от alex12 » Записан
break
Гипер активный житель
*****
Offline Offline

Сообщений: 846


Просмотр профиля
« Ответ #122 : Июль 13, 2009, 19:51 »

Цитировать
- В Qt нет возможности использовать исключения.
Почему нет - есть иcключения C++ берите и используйте

Цитировать
- У Qt дизайнера нет возможности добавить на форму не визуальный компонент.
Уже человек возмутился по этому поводу, но я тоже не могу промолчать - вы просто привыкли кидать на форму всякие DataSet-ы и кликая мышкой связывать их с DBGrid-ами. Когда-то я тоже так делал - теперь с Qt не делаю - и на форме у меня нет абсолютно бессмысленных значков этих самых невизуальных компонент...

Цитировать
- Qt требует наличия рантайма в виде QtCore, QtGui и т.д. (хотя это частично можно обойти статической линковкой)
зайдите в системную папку и там поищите файлы *.bpl - вас удивит но рантайм делфи больше весит чем рантайм Qt.

Цитировать
Согласен с топикстартером, что кросплатформенный нативный Delphi (не NET и не CLX) может озолотить
Бред это все - они попытались это сделать, - собственно получился CLX - кот. почти точно повторяет архитектуру VCL с ее недостатками.

А если делать что-то толковое - то Qt получится.

Оффтоп:
Правда ли что CLX была реализована с помощью Qt, а Kelix запускалась из под wine? - Собственно это не я придумал а однажы увидел в какой-то статье по сравнению систем разработки. Прошу знающих людей подтвердить или опровергнуть!
Записан
denka
Гость
« Ответ #123 : Июль 13, 2009, 20:42 »

Да CLX действительно был реализован по верх Qt - но только под Linux.  На сколько я знаю Qt использовалась как чисто GUI lib т.е. только для создания окошек, кнопочек и т.п. При этом поверх Qt был еще один шар API
Насчет Kylix такое впервые слышу Улыбающийся
Записан
BigZ
Гость
« Ответ #124 : Июль 13, 2009, 21:08 »

Пожалуй соглашусь, что скорость сборки наверное это спор про С++ и Pascal и к делу не относится.
Цитата: BRE
Ты имеешь ввиду что сама Qt не использует исключения?
Я имею ввиду, что в Qt проектах не принято использовать исключения так как базовый фрейморк
под них не заточен.

Уже человек возмутился по этому поводу, но я тоже не могу промолчать - вы просто привыкли кидать на форму всякие DataSet-ы и кликая мышкой связывать их с DBGrid-ами. Когда-то я тоже так делал - теперь с Qt не делаю - и на форме у меня нет абсолютно бессмысленных значков этих самых невизуальных компонент...

зайдите в системную папку и там поищите файлы *.bpl - вас удивит но рантайм делфи больше весит чем рантайм Qt.
Вопрос не про то, кто как делает или не делает, а про то что есть факт - нет поддержки не визуальных компонент в дизайнере. Вы сейчас это не делаете в Qt так как этого нет, а если эту возможность предоставят в Qt5, то уверен пользователи найдутся.
Насчёт зависимостей, вот у меня есть два скриншота - один зависимости бинаря собранного в Delphi7, а другой зависимости Qt демки. Но я не знаю как их тут выложить.

Да CLX действительно был реализован по верх Qt - но только под Linux.  На сколько я знаю Qt использовалась как чисто GUI lib т.е. только для создания окошек, кнопочек и т.п. При этом поверх Qt был еще один шар API
Насчет Kylix такое впервые слышу Улыбающийся
Могу немного дополнить. CLX сделан действительно поверх Qt3..x. В Windows и в Linux требовался
Qt рантайм. Поверх этого Qt рантайма был сделан "C" мост. В его задачу входило избавиться от C++ классов, так как Delphi не мог линковаться с C++. Например QPainter::draw(...) превращался в QPainter_draw(QPainterH*p, ...) и тд. И уже поверх последнего моста был реализован CLX.
Kylix запускался из-под Wine, а сама среда была написана на чистом VCL. Компилятор был нативный.



Записан
BRE
Гость
« Ответ #125 : Июль 13, 2009, 21:35 »

Я имею ввиду, что в Qt проектах не принято использовать исключения так как базовый фрейморк
под них не заточен.
Если мне нужно (я хочу) использовать исключения, то я их использую...
[Задумчиво, мысли вслух: "Не принято.... кем не принято? почему не принято?"]

Вопрос не про то, кто как делает или не делает, а про то что есть факт - нет поддержки не визуальных компонент в дизайнере. Вы сейчас это не делаете в Qt так как этого нет, а если эту возможность предоставят в Qt5, то уверен пользователи найдутся.
Уверен что пользователи найдуться, ведь так много людей искалеченные идиологией делфи сейчас переходят на Qt.
Все чаше можно видеть программы, в которых GUI полностью переплетен с функционалом. Таблица, которые сами лезут в базу данных, комбобоксы - которые напрямую читают состояние оборудования. Вообщем программы которые нельзя сопровождать и тем более адаптировать к изменяющимся условиям.

Насчёт зависимостей, вот у меня есть два скриншота - один зависимости бинаря собранного в Delphi7, а другой зависимости Qt демки. Но я не знаю как их тут выложить.
Вот с удовольствием взлянул бы.
Нажми на "Дополнительные опции..."
Записан
BigZ
Гость
« Ответ #126 : Июль 13, 2009, 22:18 »

Если мне нужно (я хочу) использовать исключения, то я их использую...
[Задумчиво, мысли вслух: "Не принято.... кем не принято? почему не принято?"]
Насколько я понял тролли не смогли обеспечить обработку исключений единообразным образом на всех компиляторах, которые
поддерживает Qt. Поэтому отказались. Это значит что если вы вот так просто будете их использовать,
то возможно нарвётесь на проблемы под Linux или Mac.
Уверен что пользователи найдуться, ведь так много людей искалеченные идиологией делфи ..
Скорее политикой бывшего Borland......Улыбающийся Идиология Qt и VCL по сути одна. Объектные модели очень похожи.
Вот с удовольствием взлянул бы.
« Последнее редактирование: Июль 13, 2009, 22:22 от BigZ » Записан
break
Гипер активный житель
*****
Offline Offline

Сообщений: 846


Просмотр профиля
« Ответ #127 : Июль 13, 2009, 22:27 »

BRE --- я за твой пост +500

BigZ -- с тобой пока неочем разговаривать твой разум переполнен космическим трешем
Записан
BRE
Гость
« Ответ #128 : Июль 13, 2009, 22:44 »

Насколько я понял тролли не смогли обеспечить обработку исключений единообразным образом на всех компиляторах, которые
поддерживает Qt. Поэтому отказались. Это значит что если вы вот так просто будете их использовать,
то возможно нарвётесь на проблемы под Linux или Mac.
Не знаю. Обработка исключений четко прописана в стандарте C++. Если какой то компилятор еще не умеет с ними работать, то это проблема именно этого компилятора, а не Qt.

Скорее политикой бывшего Borland......Улыбающийся Идиология Qt и VCL по сути одна. Объектные модели очень похожи.
Идиология делфи в том, что форма главенствует и на нее пытаются добавлять функциона совместно с GUI. IMHO это не очень удачная мысль.

На счет зависимостей.
Теперь для интереса можно сравнить зависимости программы на Qt для встраиваемых платформ, потом сложить размеры всех библиотек там и там.
Записан
BigZ
Гость
« Ответ #129 : Июль 13, 2009, 23:06 »

Не знаю. Обработка исключений четко прописана в стандарте C++. Если какой то компилятор еще не умеет с ними работать, то это проблема именно этого компилятора, а не Qt.
Видимо проблема в том, что не все следуют стандарту.
Идиология делфи в том, что форма главенствует и на нее пытаются добавлять функциона совместно с GUI. IMHO это не очень удачная мысль.
Есть подход, который можно использовать, а можно не использовать.
Например вот, человек писал, что он кидал на форму DataSet, а потом перешёл на Qt и понял как он
ошибался. А что мешало ему сразу не кидать DataSet на форму а писать ручками?! У Delphi идиология - Rapid Software Development. У Qt  - Code less, create more. Кажется, что это где-то рядом.

На счет зависимостей.
Теперь для интереса можно сравнить зависимости программы на Qt для встраиваемых платформ, потом сложить размеры всех библиотек там и там.
Суть недостатка Qt была в том, что на Delphi+VCL я могу получить дистрибутив меньшего размера чем в Qt.
Для встраиваемых платформ вроде Delphi не умеет.

« Последнее редактирование: Июль 13, 2009, 23:12 от BigZ » Записан
BRE
Гость
« Ответ #130 : Июль 13, 2009, 23:18 »

А что мешало ему сразу не кидать DataSet на форму а писать ручками?!
Идиология. Улыбающийся
Думаю во всех книжках было написано, киньте DataSet на форму...

Суть недостатка Qt была в том, что на Delphi+VCL я могу получить дистрибутив меньшего размера чем в Qt.
Для встраиваемых платформ вроде Delphi не умеет.
Для венды - да, но есть и другие платформы.
Сколько занимает места на диске венда? Не слишком ли это большой рантайм по сравнению с Qt?  Подмигивающий
Записан
break
Гипер активный житель
*****
Offline Offline

Сообщений: 846


Просмотр профиля
« Ответ #131 : Июль 13, 2009, 23:25 »

Цитировать
Например вот, человек писал, что он кидал на форму DataSet, а потом перешёл на Qt и понял как он
ошибался. А что мешало ему сразу не кидать DataSet на форму а писать ручками?!

Вообще то это ты 2 поста назад вопил что отсутствие возм. положить на форму невизуальный компонент великая проблема....То что Делфи подталкивает к неправльному программтрованию это не для кого ни секрет - зачем вообще невизуальные компоненты там кладутся на форму. Если бы этой возможности там не было и если бы она не была описана во всей возможной литературе я бы так не делал. По этому выше заметили что Делфи колечит ум программиста делая из него собирателя квадратиков нежалающего самостоятельно мыслить.

Цитировать
Видимо проблема в том, что не все следуют стандарту.
болтовня бессмысленная - либо назови компилятор кот. не поддерживает исключения (имеется ввиду современный) либо не выдумывай больше

Цитировать
Суть недостатка Qt была в том, что на Delphi+VCL я могу получить дистрибутив меньшего размера чем в Qt.
Для встраиваемых платформ вроде Delphi не умеет.

А зачем еще нужен маленький дистрибутив если не для встраиваемых платформ?(жесткие диски копейки стоят) Кроме того сильно сомневаюсь что для Delphi он будет меньше - ты включи все сторонние библиотеки кот. прийдется использовать для хоть сколько нибудь серьезного проекта ведь в Делфи из коробки ничего не годится(имеются ввиду визуальные компоненты). А нормальные компоненты написаны без использования VCL.
Записан
BigZ
Гость
« Ответ #132 : Июль 13, 2009, 23:34 »

А что мешало ему сразу не кидать DataSet на форму а писать ручками?!
Идиология. Улыбающийся
Думаю во всех книжках было написано, киньте DataSet на форму...

Суть недостатка Qt была в том, что на Delphi+VCL я могу получить дистрибутив меньшего размера чем в Qt.
Для встраиваемых платформ вроде Delphi не умеет.
Для венды - да, но есть и другие платформы.
Сколько занимает места на диске венда? Не слишком ли это большой рантайм по сравнению с Qt?  Подмигивающий
Не слышал про VCL на других платформах, непонятно как сравнивать. Речь только про Windows.
Записан
BRE
Гость
« Ответ #133 : Июль 13, 2009, 23:38 »

Не слышал про VCL на других платформах, непонятно как сравнивать. Речь только про Windows.
Вот-вот. А Qt многоплатформенен, изначально. Поэтому я тоже не представляю как их можно сравнивать.
Записан
BigZ
Гость
« Ответ #134 : Июль 14, 2009, 09:19 »

Вообще то это ты 2 поста назад вопил что отсутствие возм. положить на форму невизуальный компонент великая проблема....То что Делфи подталкивает к неправльному программтрованию это не для кого ни секрет - зачем вообще невизуальные компоненты там кладутся на форму. Если бы этой возможности там не было и если бы она не была описана во всей возможной литературе я бы так не делал. По этому выше заметили что Делфи колечит ум программиста делая из него собирателя квадратиков нежалающего самостоятельно мыслить.
Первое, я не вопил, а спокойно говорил. Второе, в Delphi во всех учебниках сказано, что для невизуальных компонентов следует использовать специальную форму DataModule.
Вот первая попавшаяся ссылка на данную тему –
http://www.sql.ru/forum/actualthread.aspx?tid=135178. Если же нет времени и нужно быстро, Delphi позволяет невизуальные компоненты размещать вместе с визуальной частью.
Третье, нужно чётко понимать почему этой фичи нет в Qt, из-за идеологии или потому, что не хватило ресурсов и времени пока это реализовать.

болтовня бессмысленная - либо назови компилятор кот. не поддерживает исключения (имеется ввиду современный) либо не выдумывай больше
Строки из скрипта конфигурации Qt
-exceptions ........ Enable exceptions on platforms that support it.

А зачем еще нужен маленький дистрибутив если не для встраиваемых платформ?(жесткие диски копейки стоят) Кроме того сильно сомневаюсь что для Delphi он будет меньше - ты включи все сторонние библиотеки кот. прийдется использовать для хоть сколько нибудь серьезного проекта ведь в Делфи из коробки ничего не годится(имеются ввиду визуальные компоненты). А нормальные компоненты написаны без использования VCL.
Дистрибутив меньшего размера нужен для приложений, распространяемых через интернет.

P.S. А вообще уважаемый, полегче на поворотах.
Записан
Страниц: 1 ... 7 8 [9] 10 11 ... 14   Вверх
  Печать  
 
Перейти в:  


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