Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ Трёп _ Билдер vs Qt Дизайнер

Автор: Litkevich Yuriy 10.12.2008, 11:51

по последним слухам цена Qt4 на 3 платформы ~150т.р. тогда видимо на одну 50.т.р - не деньги, если деньги планируется созданным софтом зарабатывать.

Автор: kuler 17.12.2008, 17:04

вот если она столько стоит, то почему дизайнер не сравним с билдером? (который можно тыщ за 25-30 прикупить)

Автор: AD 17.12.2008, 17:08

Цитата(kuler @ 17.12.2008, 17:04) *
вот если она столько стоит, то почему дизайнер не сравним с билдером? (который можно тыщ за 25-30 прикупить)

А чем хуже? По мне так намного лучше! :)

Автор: Litkevich Yuriy 17.12.2008, 17:08

Цитата(kuler @ 17.12.2008, 20:04) *
не сравним с билдером
поделись опытом разработки для трех платформ (МакОСь-10, Линух, Виндовоз) на билдере ;)

Автор: kuler 17.12.2008, 19:20

Цитата(Litkevich Yuriy @ 17.12.2008, 17:08) *
оделись опытом разработки для трех платформ (МакОСь-10, Линух, Виндовоз) на билдере

а ява билдер не покатит?
Цитата(AD @ 17.12.2008, 17:08) *
А чем хуже? По мне так намного лучше!

много косяков в дизайнере, причем очень неприятных. Нет некоторых свойств (правда это скорее косяк компонентов, но в билдере то с этим нет проблем)

Автор: molchanoviv 17.12.2008, 19:41

Не холивару ради скажу: Билдер УГ. Сколько пытался его пользовать, не идет(впрочем как и MSVS) монстровузный больно.

Автор: kuler 18.12.2008, 10:48

Цитата(molchanoviv @ 17.12.2008, 19:41) *
Не холивару ради скажу: Билдер УГ.

a что такое УГ?
Цитата(molchanoviv @ 17.12.2008, 19:41) *
Сколько пытался его пользовать, не идет

в каком смысле не идет?

Автор: molchanoviv 18.12.2008, 11:19

Цитата
a что такое УГ?

Унылое г...

Цитата
в каком смысле не идет?

В смысле не нравится он мне. Не могу я с ним работать.

Автор: Tonal 18.12.2008, 11:58

http://community.livejournal.com/ru_cpp/348707.html

Автор: AD 18.12.2008, 12:19

Цитата(Tonal @ 18.12.2008, 11:58) *
http://community.livejournal.com/ru_cpp/348707.html

:D :D :D :D :D
Неужели ты тоже так считаешь?

На мой взгляд, если элемент, сделанный в дизайнере, описывается 3-5 строчками - то это хороший дизайнер и хорошая библиотека! :) Qt - именно такая Тем более, что в Qt это сделано через внятные и качественные классы. Дерево наследования классов прозрачно и понятно. Что может в этом не нравится? :blink:

В билдере нет внятных элементов, нет внятного описания, нет понятных методов. Могу сказать, что, когда я начал программить на С/С++, моими первыми компиляторами были Turbo C (полгода), а потом - Visual C++ 6.0 [хороший компилятор даже на сегодняшний день], поэтому я привык делать вещи, которые вообще-то принято делать руками, делать руками (:)). Билдер (на нем я тоже программил и, бывает программлю, к сожалнию, приходиться по работе) - это конструктор ЛЕГО, не более того, а если хотите программировать, то с него надо уходить. ;)

Автор: Litkevich Yuriy 18.12.2008, 12:25

Цитата(Tonal @ 18.12.2008, 14:58) *
http://community.livejournal.com/ru_cpp/348707.html
тут больше про Qwt, при беглом знакомстве с которым, меня воротит, в отличие от самой Qt, Qwt стройным и удобным не назовешь.

Автор: AD 18.12.2008, 12:27

Цитата(Litkevich Yuriy @ 18.12.2008, 12:25) *
тут больше про Qwt, при беглом знакомстве с которым, меня воротит, в отличие от самой Qt, Qwt стройным и удобным не назовешь.

А зря! Неплохая библиотека. Просто тоже нужен навык работы! ;) На мой взгляд, также удобна как и Qt! ;)

Автор: Tonal 18.12.2008, 12:29

Там каменты рулят. :)
В них больше именно по теме...

Автор: kuler 18.12.2008, 13:18

Цитата(AD @ 18.12.2008, 12:19) *
а если хотите программировать, то с него надо уходить.

полно здоровых проектов, написанных на билдере (сам с таким работал, программа для рисования окон и заказов на них (и много чего еще связанного с окнами), самая крутая в России (окнограф))

Автор: ranger 22.12.2008, 22:07

если кому интересно, вот http://ru.wikipedia.org/wiki/Delphi_(%D1%8F%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F) в разделе "Известное ПО" есть список программ написанных на дельфях.

Автор: molchanoviv 23.12.2008, 9:20

Чета фигня какая-то. ЕМНИП Skype написан не на дельфях а на Qt.
Вот http://trolltech.com/qt-in-use/story/app/skype

Автор: Litkevich Yuriy 23.12.2008, 9:40

Цитата(molchanoviv @ 23.12.2008, 12:20) *
Чета фигна какая-то.
ага я там тоже по поводу многого засомневался, надо поставить там вопросики, типа где мол факты подверждающие сие.

Автор: molchanoviv 23.12.2008, 9:50

Ага, заметил еще в списке KMplayer. Оно вообще KDElib использует.

Автор: Litkevich Yuriy 23.12.2008, 10:47

Цитата(molchanoviv @ 23.12.2008, 12:50) *
Ага, заметил еще в списке KMplayer
а их оказывается два и речь идет о http://ru.wikipedia.org/wiki/The_KMPlayer

http://ru.wikipedia.org/wiki/Delphi_(язык_программирования)#.D0.98.D0.B7.D0.B2.D0.B5.D1.81.D1.82.D0.BD.D0.BE.D0.B5_.D0.9F.D0.9E шаблончик "Проверить факты"

Автор: molchanoviv 23.12.2008, 11:04

Да, только ссылка ведет на тот что в составе KDE.

Автор: kuler 23.12.2008, 11:05

да, маловато буит, но зато коммандер на нем написан

Автор: Litkevich Yuriy 23.12.2008, 12:08

Цитата(molchanoviv @ 23.12.2008, 14:04) *
ссылка ведет на тот что в составе KDE.
я уже поправил

Автор: molchanoviv 23.12.2008, 14:15

Цитата(kuler @ 23.12.2008, 11:05) *
да, маловато буит, но зато коммандер на нем написан


Зато различных, не побоюсь, "быдлокодерских поделок" в госучрежениях на нем навалом. К тому-же Дельфи это вин-онли среда(Kylix мертв) потому вдвойне УГ. Особенно программа на дельфи это кошмар для админа переводящего учреждение на Линукс.

З.Ы. Таким же злом как и дельфи в плане переносимости является ActiveX, .Net(да и вообще все поделия от мелкомягких)

Автор: AD 23.12.2008, 14:51

Microsoft Office, Microsoft Visual Studio, Microsoft Sql Server, ActiveDirectory - вот несколько далеко "неподелочных" и оцененных очень многими программ от Microsoft!
На Delfi тоже есть хорошо написанные программы, но их намного меньше - это тоже общепризнанный факт. :)


molchanoviv, чересчур эмоционально! Нежнее, еще нежнее! ;) :)

Автор: molchanoviv 23.12.2008, 17:18

Подалуй соглашусь только с Active Directory. Ofiice и Visual Studio вещи спорные рождающе холивары(Единственное преимущество MSVS это отладчик, а вот офисовские COM-вызовы и docx это именно зло, рождающее только проблемы, а единственное преимущество MS Office это скорость запуска по сравнению с OpenOffice). А вот про Sql это ты прям конкретно загнул это кошмар для админа(я с ним очень сильно намучался). Так что даже не уверяй меня что программы от MS это хорошо. Единственное что хорошо у МС так это маркетологи вот они то работают просто отлично впаривая поделки от МС народу. Ах да, еще МС делает неплохие клавы и мышки. ВСЁ.
А на дельфи действительно есть хорашие программы, только их раз, два и обчелся. А вот именно поделок на нем завались.

Автор: kuler 23.12.2008, 17:57

лично у меня в жизни как у человека юникса нет, поэтому я за виндовс, соответственно дополнительных раздражающим фактором кроссплатформенность для меня не является

Автор: ranger 23.12.2008, 18:44

Цитата(kuler @ 23.12.2008, 12:05) *
да, маловато буит, но зато коммандер на нем написан

да сам билдер написан на дельфях, думаю что это уже о многом говорит...


Цитата(molchanoviv @ 23.12.2008, 10:20) *
Чета фигня какая-то. ЕМНИП Skype написан не на дельфях а на Qt.
Вот пруфлинк

специально полазил по нету поискал... читай http://www.mail-archive.com/ru-firebird@googlegroups.com/msg25414.html(в комментах там).

Автор: kalombo 23.12.2008, 19:02

Цитата(molchanoviv @ 23.12.2008, 17:18) *
а вот офисовские COM-вызовы и docx это именно зло, рождающее только проблемы, а единственное преимущество MS Office это скорость запуска по сравнению с OpenOffice.


Буквально сегодня, в Ubuntu, запустил OpenOffice через пуск, скопировал в него текст из браузера, подправил под свои нужнды (просто слова заменил), нажал на пиктограммке "Save", Офис вылетел. В топку такое счастье. Сразу вспомнилась фраза одного человека на нашем локальном форуме города, что он никогда не терял документов пользуясь Word'ом, а в случае OpenOffice такое случалось, значит у меня не единичный случай.

Цитата(ranger @ 23.12.2008, 18:44) *
да сам билдер написан на дельфях, думаю что это уже о многом говорит...


Да и сама Делфи написана на Делфи и что в этом плохого? Это только Microsoft создает библиотеки MFC .NET и сама же не использует их при написании программ, насколько мне известно=) Разве стоит называть программу плохой из-за написании её на Делфи? Мне кажется это неправильно.

Автор: kuler 23.12.2008, 19:10

так что про скайп оказались правы и те и эти, хорошо до войны не дошло

Автор: AD 23.12.2008, 21:12

Цитата(molchanoviv)
Подалуй соглашусь только с Active Directory. Ofiice и Visual Studio вещи спорные рождающе холивары(Единственное преимущество MSVS это отладчик, а вот офисовские COM-вызовы и docx это именно зло, рождающее только проблемы, а единственное преимущество MS Office это скорость запуска по сравнению с OpenOffice). А вот про Sql это ты прям конкретно загнул это кошмар для админа(я с ним очень сильно намучался). Так что даже не уверяй меня что программы от MS это хорошо. Единственное что хорошо у МС так это маркетологи вот они то работают просто отлично впаривая поделки от МС народу. Ах да, еще МС делает неплохие клавы и мышки. ВСЁ.
А на дельфи действительно есть хорашие программы, только их раз, два и обчелся. А вот именно поделок на нем завались.

На счет SQL Server и Office это твое личное мнение! :) Большинство специалистов (не разработчиков, а пользователей) утверждают обратное. Еще хочу заметить следующее - многие, которые хают это ПО, сами же ими же пользуются. А вот экономическая политика Майкрософт как раз нечестная. Душить маленькие компании - это не есть хорошо. Именно за это не любят эту фирму. Согласись, что если около 75% людей всего Мира используют ПО Майкрософт - это уже говорит о том, что ПО - неплохое и качественное! ;) :) Не обижайся, просто не следует превозносить программы дельфистов, которые как раз используют меньшее число пользователей, чем программы мелкомягких. В плане эргономичности - Майкрософт пока лидирует - это факт!

Автор: Litkevich Yuriy 23.12.2008, 22:04

Цитата(kuler @ 23.12.2008, 22:10) *
так что про скайп оказались правы и те и эти, хорошо до войны не дошло
мои соображения насчет ядра и оболчки подтвердились: http://www.mail-archive.com/ru-firebird@googlegroups.com/msg25426.html
кстати Опера в томже духе сделана

Автор: molchanoviv 23.12.2008, 23:42

Цитата
Буквально сегодня, в Ubuntu, запустил OpenOffice через пуск, скопировал в него текст из браузера, подправил под свои нужнды (просто слова заменил), нажал на пиктограммке "Save", Офис вылетел. В топку такое счастье. Сразу вспомнилась фраза одного человека на нашем локальном форуме города, что он никогда не терял документов пользуясь Word'ом, а в случае OpenOffice такое случалось, значит у меня не единичный случай.

Моей первой свободной программой стал именно опен офис. Это была еще единичка. Я как-то писал экзаменационный реферат по литературе, во время работы ничего не сохранял и тут это гребаный офис глюкает, вылетает и я остаюсь без уже практичекси дописанного реферата. Я так и предвижу возгласы что надо было сохранаять, или поставить на автосохранение, но извините я лучше перейду на более качественное ПО от Sun Microsystems чем буду пользовать это глюкалово. И таких случаев я знаю море. Да и еще один немаловажный фактор, это лицензионная чистота. Хот кто нибудь мне ,только честно, может похвастать что у него дома стоит хотя-бы лицензионный MS Office? А я могу. Единственная программа которая у меня стоит из пираток это Total Commander(кстати один из редких примеров хороших программ на делфи) и то с постоянно появляющимся окошком при старте.

Цитата
Да и сама Делфи написана на Делфи и что в этом плохого?

Делфи не может быть написана на делфи. Она может быть написана в делфи на ObjectPascal. Ибо делфи это среда разработки, а язык ObjectPascal. У меня есть знакомые которые искренне считают что Visual C++ это не среда а язык. И ведь не переубедишь их в этом.

Цитата
Разве стоит называть программу плохой из-за написании её на Делфи? Мне кажется это неправильно.


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

Цитата
Еще хочу заметить следующее - многие, которые хают это ПО, сами же ими же пользуются.

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

Цитата
Согласись, что если около 75% людей всего Мира используют ПО Майкрософт - это уже говорит о том, что ПО - неплохое и качественное!


Недавние опросы ВЦИОМ показали что порядка 80% людей полностью доверяют тому что показывают по телевизору. Следуя твоей логике, то что говорит в своей передаче господин Малахов является верным, и что та-же уринотерапия помогает от всех болезней.

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

Так я их и не превозношу.

Цитата
В плане эргономичности - Майкрософт пока лидирует - это факт!

Оно лидирует только в плане срубания бабла. Вот всем бы таких маркетологов, и такого бабла.Тогда я думаю на равных условиях ПО от мелкомягких отнюдь бы не было лидером по использованию

Автор: kalombo 24.12.2008, 0:35

Цитата(molchanoviv @ 23.12.2008, 23:42) *
Делфи не может быть написана на делфи. Она может быть написана в делфи на ObjectPascal. Ибо делфи это среда разработки, а язык ObjectPascal. У меня есть знакомые которые искренне считают что Visual C++ это не среда а язык. И ведь не переубедишь их в этом.

Во-первых, зачем придираться? Если я говорю написана на Делфи, то я думаю всем понятно, что использовалась библиотека VCL, среда разработки Delphi и т.д. ведь других вариантов нет. Для примера, мы все говорим "написана на Qt", а не "написана на С++ с использованием библиотеки Qt". Во-вторых:
Цитата
Delphi — язык программирования, который используется в одноимённой среде разработки. Название используется начиная с 7 версии среды разработки[2], ранее это был Object Pascal, разработанный фирмой Borland и изначально реализованный в её пакете Borland Delphi, от которого и получил в 2003 году своё нынешнее название.(с) Wikipedia


Цитата(molchanoviv @ 23.12.2008, 23:42) *
Так а я и не назвал. Я просто сказал что делфи очень популярен среди "быдлокодеров". Я пока и сам им являюсь, все программисты ими когда-то были быдлокодерами, но я хотя-бы стремлюсь не быть им. К тому-же делфи только под виндовз, что является огромным минусом.


Там не твоя цитата стоит, я не к тебе обращался. Так что всё верно, ты и не называл.

Автор: Tonal 24.12.2008, 9:02

Цитата
Мир меняется...
(с) Гоблин
Сейчас среди зелёной молодёжи от программирования (быдлокодеров?) популярны C# и VB.Net.

А про C++Builder - загляните в $(DTDIR)/mkspecs. Там есть поддиректория win32-borland.
Т.е. использовать Qt можно и из под C++Builder, исппользуя или не исппользуя VCL по своему усмотрению.

Другой вопрос, что после C++Builder 5 (bcc32 v5.5) компилятор и рантайм стали очень сильно нестабильными.
Поэтому связываться с такой конфигурацией имеет смысл только в унаследованных проектах, когда большинство команды знает только эту среду.

Автор: molchanoviv 24.12.2008, 9:18

Цитата
Сейчас среди зелёной молодёжи от программирования (быдлокодеров?) популярны C# и VB.Net.

Не обязательно быть зеленым чтобы быть быдлокодером. Так что фраза должна звучать так.
Цитата
Сейчас среди быдлокодеров популярны C# и VB.Net.

И еще одна поправка, если ты пишешь на C# и VB.Net, это еще не значит что ты быдлокодер.

Автор: AD 24.12.2008, 10:11

Цитата(molchanoviv @ 23.12.2008, 23:42) *
Цитата
Согласись, что если около 75% людей всего Мира используют ПО Майкрософт - это уже говорит о том, что ПО - неплохое и качественное!


Недавние опросы ВЦИОМ показали что порядка 80% людей полностью доверяют тому что показывают по телевизору. Следуя твоей логике, то что говорит в своей передаче господин Малахов является верным, и что та-же уринотерапия помогает от всех болезней.

Ну что же - твоя точка зрения ясна! :)

Не в тему конечно же скажу, но последнее время по телеку смотрю только новости! :)))) А Малаховых и прочую чушню не смотрел и не буду смотреть! :))))

Автор: Tonal 24.12.2008, 11:54

"Незелёные" http://lurkmore.ru/%D0%91%D1%8B%D0%B4%D0%BB%D0%BE%D0%BA%D0%BE%D0%B4%D0%B5%D1%80 видимо существуют, но их довольно мало за пределами http://lurkmore.ru/%D0%98%D0%BD%D0%B4%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9_%D0%BA%D0%BE%D0%B4, да и там, думаю с кризисом сильно поубавиться, т.к. для такого феномена нужно очень много устойчивых рабочих мест от которых никто не требует качества. :)

А про используемые языки - у меня есть несколько знакомых, очень высококлассных, которые используют классически "быдлокодерские" языки: VB6, Delphi, C#, VB.Net.

Автор: molchanoviv 24.12.2008, 13:15

Помоему и в России их до**ра. Мне приходилось видеть кусочки кода программ с которыми мне приходится возиться по работе. Я читал и о**евал. Это кошмар. И еще мне "нравятся" поделки на "бейсике в промтовском переводе"(1С, АС Бюджет и еще несколько программ у которых я не помню названий). И эти люди(кодеры) в индустрии не первый год, так что зеленью я их назвать не могу.

Автор: ranger 24.12.2008, 14:39

Цитата(molchanoviv @ 23.12.2008, 14:15) *
К тому-же Дельфи это вин-онли среда

http://ru.wikipedia.org/wiki/Lazarus чем не копия дельфи? :)
http://wiki.lazarus.freepascal.org/Screenshots

Автор: molchanoviv 24.12.2008, 14:53

И что оно позволяет использовать VCL? Из попыток порта делфи под юникс я видел только Kylix от самого дяди Бормана.

Автор: ranger 24.12.2008, 17:26

там как бы своя библиотека, но имена классов, методов и т.д. точная копия vcl.

Автор: Tonal 25.12.2008, 11:11

Кстати, в копилку плюсов и минусов по сабжу.
Размер минимального статического exe-шника с пустой формочкой для стандартной поставки Builder-а 700-800 кб .
Размер аналогичного под Qt ~5 мб. :(
В прогу на дебилдере аналогичного размера можно запихать практически всё, что есть в VCL-е.

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

Т.е. в смысле компактности и модульности продукты багланда пока впереди.

P.S. Размер я смотрел для мингвы, хотя не думаю, что он мерьёзно отличается для других компиляторов.

Автор: Litkevich Yuriy 25.12.2008, 11:35

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

Автор: kuler 12.1.2009, 12:26

вот к примеру недостаток дизайнера - если сделать Layout vertically для компонентов, то их нельзя после этого перемещать - ну куда это годится?

Автор: AD 12.1.2009, 14:20

Цитата(kuler @ 12.1.2009, 12:26) *
вот к примеру недостаток дизайнера - если сделать Layout vertically для компонентов, то их нельзя после этого перемещать - ну куда это годится?

После того, как я разобрался с этими лэйотами, мне они даже нравятся стали. Вначале перемещай компоненты, а потом делай layout! ;)

Автор: kuler 12.1.2009, 15:03

Цитата(AD @ 12.1.2009, 14:20) *
Вначале перемещай компоненты, а потом делай layout!

это то понятно, но этож не дело. Я бы сделал break layout но тогда сломаются все слои на форме, что тоже не правильно

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

Автор: Litkevich Yuriy 12.1.2009, 15:11

Цитата(kuler @ 12.1.2009, 18:03) *
но второй не займет освободившееся место (а ведь должен ибо лэйаут)
это зависит от политики размеров

если есть вопросы по дизаунеру лучше задавай их в подфоруме Qt

Автор: kuler 21.1.2009, 14:27

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

Автор: Litkevich Yuriy 21.1.2009, 14:28

Цитата(kuler @ 21.1.2009, 17:27) *
обработчики
что под обработчиками понимается?

Автор: kuler 21.1.2009, 15:34

Цитата(Litkevich Yuriy @ 21.1.2009, 14:28) *
что под обработчиками понимается?

в дизайнере сделать connect signal и он slot создаст

Автор: AD 21.1.2009, 15:40

Цитата(kuler @ 21.1.2009, 15:34) *
в дизайнере сделать connect signal и он slot создаст

А эти вещи и не предполагаются для дизайнера. Вообще-то для лучшей наглядности и модифицируемости проекта лучше все connect(ы) писать ручками.

Автор: kuler 21.1.2009, 16:04

Цитата(AD @ 21.1.2009, 15:40) *
Вообще-то для лучшей наглядности и модифицируемости проекта лучше все connect(ы) писать ручками

ты com не использовал в приличных проектах? а то б знал для чего нужна atl. (в принципе mfc из тойже темы, но таккак считаю её полным авнищем то это плохой пример). Или stl юзал? а то щас у меня код написанный до меня, там надо отсортировать чтото, так ты чо, написан целый метод quicksort, видимо это круто.

Автор: Litkevich Yuriy 21.1.2009, 16:05

Цитата(kuler @ 21.1.2009, 18:34) *
и он slot создаст
а где он его создать должен?

Автор: AD 21.1.2009, 16:11

Цитата(kuler @ 21.1.2009, 16:04) *
Или stl юзал? а то щас у меня код написанный до меня, там надо отсортировать чтото, так ты чо, написан целый метод quicksort, видимо это круто.

К чему ты это? :) А вообще не понимаю с чего ты com приплел? Разве в atl есть дизайнер? Какая quicksort, самописная что-ли? :) Можно разжевать так, чтобы чайник вроде меня понял все! Заранее спасибо! :))))

Автор: kuler 21.1.2009, 19:39

Цитата(Litkevich Yuriy @ 21.1.2009, 16:05) *
а где он его создать должен?

ну у меня в студии в коде on_aFilter_triggered()
Цитата(AD @ 21.1.2009, 16:11) *
с чего ты com приплел? Разве в atl есть дизайнер?

а это тонкий намек, что с твоей позицией и atl не нужна ибо
Цитата(AD @ 21.1.2009, 15:40) *
Вообще-то для лучшей наглядности и модифицируемости проекта лучше все connect(ы) писать ручками.
Цитата(AD @ 21.1.2009, 16:11) *
Какая quicksort, самописная что-ли?

ну короче просто самописная сортировка

Автор: Litkevich Yuriy 21.1.2009, 20:39

Цитата(kuler @ 21.1.2009, 22:39) *
ну у меня в студии в коде on_aFilter_triggered()
не понял, что это и где это?

Дизайнер создает ui-файл (например foo.ui), затем при сборке из него с помощью uic создается ui_foo.h.
А использовать этот файл (либо foo.ui либо ui_foo.h) ты можешь самым разным способом. В файле foo.ui слот не разместишь, т.к. в XML'нике не предусмотрено место для кода (хотя в секцию CDATA можно, наверно, воткнуть). В файл ui_foo.h тоже нельзя, так как ты можешь хотеть динамически загружать foo.ui, да uic перетерает этот файл. Вот и получается, что нет места, где можно было бы разместить пользовательский слот.

Автор: Tonal 22.1.2009, 9:09

2 kuler Это ты о чём говоришь?
Дизайнер Qt вообще не поддерживает создание пользовательских слотов.
Может ты говоришь про интегратор для студии - тут я не в курсях. :)
Зато в ассистенте описано, что есть 2 метода привязывания слотов к сигналам формы:
1. Явно в коде с помощью connect. При этом можно связать как угодно.
2. Неявно, после создания интерфейса слоты с именами вида on_widgetName_signalName привязываются к сигналам соответствующих объектов.

Понятно, что во втором случае не о каком связывании с множеством виджетов рачи не идёт.
Да и вообще этот способ не рекомендован тролями и создаёт дополнительные трудности при рефакторинге.

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

Если смотреть с этой точки зрения на перечисленные тобой библиотеки, то:
stl - общие куски многих алгоритмов в обобщённом виде.
ATL - обёртка низкоуровневых концепций COM для С++.
Ни та не другая не пытается предоставлять свой сетевой протокол, играть звук или рендерить видио.

Ну и по поводу GUI - он должен быть как можно более развязан от логики. Т.е. все вычисления, проверки и т.д. должны быть оторваны от GUI-я.
Представь, что заказчику понравилась твоя мегапрограмма, и он захотел в следующей версии иметь к ней доступ по вебу с мобильника.
Не устанишь выковыривать логику из всех этих OnClick-ов? :)
Да и нанять дизайнера, чтобы он нарисовал красивый и удобный интерфейс просто не получится - он должен будет иметь навыки работы со средой и понимание связывания кода с рожей. :)

Автор: kuler 22.1.2009, 12:00

Цитата(Litkevich Yuriy @ 21.1.2009, 20:39) *
не понял, что это и где это?

on_aFilter_triggered()
{
}
это будет то что выполнится по нажатию на экшен aFilter.
Цитата(Tonal @ 22.1.2009, 9:09) *
т.е. независимым от остальных кусков.

то есть стл нельзя использовать, ибо идет зависимость?

Автор: AD 22.1.2009, 12:15

Цитата(kuler @ 22.1.2009, 12:00) *
Цитата
т.е. независимым от остальных кусков.

то есть стл нельзя использовать, ибо идет зависимость?

Ты неправильно понял мысль. Как раз наоборот. Эти библиотеки предоставляю ОБЩИЙ интерфейс для выполнения каких-то задач. Сами задачи должен реализовывать программист, как здесь были приведен пример, это предоставление сетевого протокола. В Билдере же как раз есть очень большая беда, что GUI-код зависит от логики напрямую. Что является большим минусом Билдера, а не плюса. Поэтому Билдер, возможно, удобно использовать в каких-нибудь очень небольших программах и утилитах - это будет быстрее. Но если следует разработать систему, которая впоследствии будет модифицироваться, при этом, возможно, другими людьми, то он непригоден для этих целей. И приведенные тобой библиотеки, относятся как раз к хорошим библиотекам, потому что в них реализована общая логика для большинства задач. Но при этом в них нет конкретной привязки к GUI или же реализации какой-нибудь конкретной задачи.

Автор: Litkevich Yuriy 22.1.2009, 12:56

Цитата(kuler @ 22.1.2009, 15:00) *
on_aFilter_triggered()
{
}
дак где это, в каком файле? ты его сам написал?

Автор: AD 22.1.2009, 13:19

Цитата(Litkevich Yuriy @ 22.1.2009, 12:56) *
дак где это, в каком файле? ты его сам написал?

Юра, этот слот пишется в файл класса данного виджета.
Ну то есть в указанный вот так:
class WidgetTest: public ui_WidgetTest, public QMainWindow
{
private:
        // .....
protected:
        // ..........
public slots:
        void on_aFilter_triggered();
};

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

При этом явного коннекта нет. Каким-то образом идет связь через moc-файлы (moc_<name>.cpp)

Автор: Litkevich Yuriy 22.1.2009, 13:55

Цитата(AD @ 22.1.2009, 16:19) *
Юра, этот слот пишется в файл класса данного виджета.
а как узнать этот файл? я пишу код в блокноте.
А если я вообще не хочу множественное наследование использовать? Куда тогда писать?
А если я использую такой вариант:
...
     QWidget *widget = new QWidget;
     Ui::CalculatorForm ui;
     ui.setupUi(widget);

...
}

Да и файл-то я еще не создал?

Цитата(AD @ 22.1.2009, 16:19) *
При этом явного коннекта нет. Каким-то образом идет связь через moc-файлы (moc_<name>.cpp)
это делается с помощью http://doc.crossplatform.ru/qt/4.4.3/designer-using-a-component.html#widgets-and-dialogs-with-auto-connect (QMetaObject::connectSlotsByName(...))

Автор: AD 22.1.2009, 14:09

Цитата(Litkevich Yuriy @ 22.1.2009, 13:55) *
а как узнать этот файл? я пишу код в блокноте.
А если я вообще не хочу множественное наследование использовать? Куда тогда писать?
А если я использую такой вариант:
...
     QWidget *widget = new QWidget;
     Ui::CalculatorForm ui;
     ui.setupUi(widget);

...
}

Да и файл-то я еще не создал?

Если, если.... Если не создал, то и разговора нет! :)))) kuler создал. ;) 8)

Автор: kuler 22.1.2009, 16:48

Цитата(Litkevich Yuriy @ 22.1.2009, 13:55) *
а как узнать этот файл?

в студии, есть такой пункт project->add qt gui class после выбора и вписывания имени класса появляются 3 файла - cpp, h, ui.
Цитата(Litkevich Yuriy @ 22.1.2009, 13:55) *
А если я вообще не хочу множественное наследование использовать?

в диалоге есть галочка "юзать множественное наследование"

при нажатии правой клавишей на компоненте есть пункт connect signal там выбираешь, жмешь ок и все происходит как в билдере, при этом в cpp и h нет вызова connect

Цитата(Litkevich Yuriy @ 22.1.2009, 13:55) *
а как узнать этот файл?

студия сама распознает

Автор: void* 22.1.2009, 16:54

Цитата(AD @ 22.1.2009, 12:19) *
При этом явного коннекта нет. Каким-то образом идет связь через moc-файлы (moc_<name>.cpp)

Официальная книжка по Qt4 28 страница
Цитата
In the constructor, we call setupUi() to initialize the form. Thanks to multiple
inheritance, we can access Ui::GoToCellDialog’s members directly. After creat-
ing the user interface, setupUi() will also automatically connect any slots that
follow the naming convention on_objectName_signalName() to the corresponding
objectName’s signalName() signal. In our example, this means that setupUi() will
establish the following signal–slot connection:
connect(lineEdit, SIGNAL(textChanged(const QString &)),
this, SLOT(on_lineEdit_textChanged()));

Автор: kuler 22.1.2009, 17:15

Цитата(void* @ 22.1.2009, 16:54) *
connect any slots that
follow the naming convention on_objectName_signalName() to the corresponding
objectName’s signalName() signal.

на самом деле это стремно, ибо нельзя красиво назвать обработчик, в билдере можно

Автор: AD 22.1.2009, 17:58

Цитата(kuler @ 22.1.2009, 17:15) *
на самом деле это стремно, ибо нельзя красиво назвать обработчик, в билдере можно

Повторюсь, делай коннекты сам и называй, как душе угодно! ;) Поверь, это лучше. Легче отследить связи!

Автор: kuler 22.1.2009, 18:01

Цитата(AD @ 22.1.2009, 17:58) *
Легче отследить связи!

50 коннектов вручную? код засоряется такими действиями

Автор: AD 22.1.2009, 18:04

Цитата(kuler @ 22.1.2009, 18:01) *
50 коннектов вручную? код засоряется такими действиями

:) Если хочешь использовать Qt, то принимай правила игры, которые диктует эта библиотека, либо используй другие библиотеки! Другого вряд ли посоветуешь! Ну вот так она устроена. На всех нельзя угодить. :) Не обижайся, просто по-другому не объяснить! :)

Автор: trdm 22.1.2009, 19:40

Цитата(kuler @ 22.1.2009, 18:01) *
код засоряется такими действиями

ие...
а ты не мусори, а пиши по-делу...

Автор: Litkevich Yuriy 22.1.2009, 21:59

kuler, во-первых, применительно к IDE это действительно можно реализовать.
Во-вторых,

Цитата(kuler @ 22.1.2009, 21:01) *
50 коннектов вручную? код засоряется такими действиями
именно 50 коннектов, действительно засоряет код, не делай так, используй инструмент (Qt) рационально, пользуйся http://doc.crossplatform.ru/qt/4.4.3/qsignalmapper.html. У меня есть приложение, модно называющееся SCADA система, у меня меньше 10(!) ручных соединений, и использовано 4(!) файла UI.

однако представляющее 11 отчетов и свыше 15 конфигурационных диалогов. Большую часть нагрузки по соединению сигналов взял на себя QSignalMapper

Автор: E5150 14.2.2009, 22:27

Цитата(AD @ 18.12.2008, 12:19) *
Цитата(Tonal @ 18.12.2008, 11:58) *
http://community.livejournal.com/ru_cpp/348707.html

:D :D :D :D :D
Неужели ты тоже так считаешь?

На мой взгляд, если элемент, сделанный в дизайнере, описывается 3-5 строчками - то это хороший дизайнер и хорошая библиотека! :) Qt - именно такая Тем более, что в Qt это сделано через внятные и качественные классы. Дерево наследования классов прозрачно и понятно. Что может в этом не нравится? :blink:

В билдере нет внятных элементов, нет внятного описания, нет понятных методов. Могу сказать, что, когда я начал программить на С/С++, моими первыми компиляторами были Turbo C (полгода), а потом - Visual C++ 6.0 [хороший компилятор даже на сегодняшний день], поэтому я привык делать вещи, которые вообще-то принято делать руками, делать руками (:)). Билдер (на нем я тоже программил и, бывает программлю, к сожалнию, приходиться по работе) - это конструктор ЛЕГО, не более того, а если хотите программировать, то с него надо уходить. ;)


я с вами не соглашусь относительно компиляторов, т.к. сам сравнивал VS2005(MFC), VS2008(MFC), CBuilder-2007(VCL) и CBuilder-2009(VCL) на двух разных машинах, компилировал пустое окно, в Билдерах время компиляции (Build - сборка exe-файла) не более 5 секунд, в VS около 30 секунд или более. А вот если создать проект в .NET допустим тоже пустое окно, то оно компилится ну почти мгновенно, но .NET не в счёт, о ней отдельный разговор!
Qt+MinGW компилится очень........ долго...

создавать проекты в CBuilder-2009(VCL) куда более удобно понятно и доступно нежели например, в VS2008(MFC), купил и не жалею! и если получится научится Qt, то возможно буду в ней делать проекты параллельно для Маков и Люнуксов, но на VS уж точно не буду переходить, даже не смотря на то, что она (Express) безплатная!!

Автор: kuler 16.2.2009, 13:58

Цитата(E5150 @ 14.2.2009, 22:27) *
в VS около 30 с

пустой проект qt из одной формы тоже секунд 5 билдится

Автор: Tonal 16.2.2009, 15:22

Цитата(E5150 @ 15.2.2009, 1:27) *
создавать проекты в CBuilder-2009(VCL) куда более удобно понятно и доступно нежели например, в VS2008(MFC), купил и не жалею! и если получится научится Qt, то возможно буду в ней делать проекты параллельно для Маков и Люнуксов, но на VS уж точно не буду переходить, даже не смотря на то, что она (Express) безплатная!!

Использовать параллельно CBuilder (VCL) для винды и Qt для остальных в принципе можно, если основной код хорошо отделён от гуйни и не использует классов ни VCL ни Qt.
Ну и если вспомнить, что С++ от багланда наиболее глючный и нестандартный из всех распространённых, то придётся довольно, э..., аккуратно писать этот основной код. :)

Ну а насчёт скрости компиляции - настрой прекомпиленные хедеры и возьми машинку по мощнее. :)

Автор: AD 16.2.2009, 15:56

Цитата(kuler @ 16.2.2009, 13:58) *
Цитата(E5150 @ 14.2.2009, 22:27) *
в VS около 30 с

пустой проект qt из одной формы тоже секунд 5 билдится

Приятно, когда человек начинает видеть не только черное и белое! :))))

Автор: kuler 16.3.2009, 17:30

мне кажется или у лэбела нельзя в дизайнере настроить цвет шрифта?

Автор: BRE 16.3.2009, 17:33

Цитата(kuler @ 16.3.2009, 17:30) *
мне кажется или у лэбела нельзя в дизайнере настроить цвет шрифта?

StyleSheet ?

Автор: kuler 16.3.2009, 17:34

а еще при попытке через дизайнер подрубить слот пишет что не может найти класс который юзает эту форму - как настроить?

Автор: AD 16.3.2009, 17:51

Цитата
а еще при попытке через дизайнер подрубить слот пишет что не может найти класс который юзает эту форму - как настроить?

Мне удалось исправить такую ошибку одним методом - писать коннекты ручками!

Автор: aus2007 24.3.2009, 18:12

Оригинально ;)

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)