Корнелиус Шумахер (Cornelius Schumacher), президент организации KDE e.V. (http://ev.kde.org/), занимающейся технической, юридической и финансовой поддержкой проекта KDE, представил (http://blog.cornelius-schumacher.de/2013/11/one-place-to-col...) новый проект inqlude.org (http://inqlude.org/), в рамках которого подготовлен каталог библиотек, биндингов, модулей и расширений, ориентированных на совместное использование с Qt. Целью проекта является формирование полного списка всех существующих библиотек для разработчиков Qt-приложений. При помощи inqlude.org любой разработчик, использующий Qt, сможет быстро найти интересующую библиотеку или расширение.
URL: http://blog.cornelius-schumacher.de/2013/11/one-place-to-col...
Новость: http://www.opennet.me/opennews/art.shtml?num=38391
Кьют окончательно превращается из фреймворка в язык.
А он не был? Взять тот же MOC.
Да и сравнивать написание кода на плюсах и на кьюте нельзя. Qt это скорее Java/C# на базе плюсов.
> Кьют окончательно превращается из фреймворка в язык.а я всегда всегда его воспринимал как язык :)
этакий C++диалект со слотами и сигналами :)
>этакий C++диалект со слотами и сигналами :)Которые, на мой взгляд, давно надо было уже внедрить в стандарт плюсов...
По старой памяти, а в бусте сигналов нет или это не те сигналы?
Не троллинга ради, а из интереса.
> По старой памяти, а в бусте сигналов нет или это не те
> сигналы?примерно те. беда в том, что в бусте есть ещё и буст.
Если в стандарт до сих пор не внедрили реализацию из Буста (тестового полигона стандарта С++), значит она там и не нужна.
> Если в стандарт до сих пор не внедрили реализацию из Буста (тестового
> полигона стандарта С++), значит она там и не нужна.там ведь буст не нужен. как и сам новый стандарт, впрочем.
Ваше мнение, безусловно, гораздо весомее и лучше подкреплено аргументами, чем, например, Страуструпа, Саттера или Александреску (http://channel9.msdn.com/Events/GoingNative/2013)
> Ваше мнение, безусловно, гораздо весомее и лучше подкреплено аргументами, чем, например,
> Страуструпа, Саттера или Александреску (http://channel9.msdn.com/Events/GoingNative/2013)(пожимает плечами) естественно.
сигналы и слоты на основе moc не нужны, т.к. появились лямбды и функция стала объектом (хоть и немного кастрированным). Хотя, дядя Александреску своими делегатами показал, что это можно было и на C++03 творить, то трольтех тянет костыли из 90х.единственное, для чего еще нужен moc - это интроспекция и поддержка метатипов.
надеюсь эти штуки появятся в C++1x, и moc можно будет отправлять на свалку
> сигналы и слоты на основе moc не нужны, т.к. появились лямбды и
> функция стала объектомэкая каша в голове. ник обязывает, видать.
>> сигналы и слоты на основе moc не нужны, т.к. появились лямбды и
>> функция стала объектом
> экая каша в голове. ник обязывает, видать.вам таки есть что по делу сказать? или у вас в голове каша?
> вам таки есть что по делу сказать?только после тебя. пока что — ты пришёл, гордо заявил, что у верблюда два горба, потому что Земля круглая и сидишь, ждёшь чего-то «по делу». переставай нести бред — можно будет и по делу.
все что надо было - я сказал, это имхо.
если тебе что-то не нравится - можешь обоснованно мне доказать обратное.
> если тебе что-то не нравится - можешь обоснованно мне доказать обратное.мне не нравится, что ты дурак. и доказывать обратное (что ты не дурак) мне тем более не с руки. такие дела.
о да. как обычно, ариса напердела в лужу и объявила всех дураками.
> о да. как обычно, ариса напердела в лужу и объявила всех дураками.не всех, а конкретно тебя. я понимаю, что тебе тут приятней ввести квантор всеобщности, но это всего лишь наглядней демонстрирует твою глупость.
>> о да. как обычно, ариса напердела в лужу и объявила всех дураками.
> не всех, а конкретно тебя. я понимаю, что тебе тут приятней ввести
> квантор всеобщности, но это всего лишь наглядней демонстрирует твою глупость.всех, потому что ты настолько уныл, что твое поведение абсолютно одинаково в каждом треде, с любым оппонентом - толстый, тyпой тролль.
продолжай демонстрировать свою тупость.
ладно, с такими дeбилами как ариса разговаривать - только время тратить. живи.
молодец, не отклоняешься от классического сценария.
>экая каша в голове. ник обязывает, видать.КО намекает, что moc проходит по классу, смотрит на сигналы и слоты и по ним генерируем описание, которое потом используется в QObject::connect
И тут всплывают куча проблем:
кривая работа с неймспейсами
нет возможности связать алиасы (например qreal и double) и нет автоматического преобразования типов
необходимость юзать Q_DECLARE_METATYPE и qRegisterMetaType
проверки типов в runtime
необходимость связывать QObject только с другим QObjectТак что moc - это костыль, особенно при наличии boost::signals2
В Qt5 вроде как запилили сигналы/слоты без всех вышеперечисленных проблем, кроме железобетонной привязке к QObject
это всё здорово, конечно, но какое отношение оно имеет к «сигналы и слоты на основе moc не нужны, т.к. появились лямбды и функция стала объектом»? в частности: как реализовать такие фичи, как «автосоединение» (учень удобно — не нужно кучу коннектов руками писать)? ну, и вообще — просмотр «сигналослотовой» информации у объекта во время исполнения? магия Qt это кривовато, но решает. и в некоторых случаях это удобно, потому что избавляет от писательства лишнего кода.
> это всё здорово, конечно, но какое отношение оно имеет к «сигналы и
> слоты на основе moc не нужны, т.к. появились лямбды и функция
> стала объектом»? в частности: как реализовать такие фичи, как «автосоединение»
> (учень удобно — не нужно кучу коннектов руками писать)? ну, иавтосоединение - это фича интроспекции в первую очередь. о чем я выше указал, что пока без moc никак.
> вообще — просмотр «сигналослотовой» информации у объекта во время исполнения?
внезапно - это тоже интроспекция, коей C++ нехватает.
> магия Qt это кривовато, но решает. и в некоторых случаях это
> удобно, потому что избавляет от писательства лишнего кода.и тем не менее, забыв скобочки в connect() - узнаешь об этом только в рантайме на выхлопе.
короче, не путай мух и котлет.
молодец, сам признал, что сказал фигню. дай дураку слово — и можно просто наблюдать, как он себя закапывает.
как всегда, пукаем в лужу, ни одного слова по делу.
> как всегда, пукаем в лужу, ни одного слова по делу.ну так постарайся не пукать. одолжи где-нибудь хотя бы наполовину рабочий мозг.
Может стоит всё-таки по делу говорить, а то на одну скромную мысль по 10 бессмысленных коментов?
> Может стоит всё-таки по делу говоритьэто туда, к неуважаемому оппоненту. как начнёт разговор не с пердежа, а с чего-нибудь разумного — так и по делу будет.
да ему сказать-то нечего, а сливаться надо как-то...
отчего же нечего? ты — дурак. от повторения истина не тускнеет.
я его пользую именно как фреймворк - он довольно удобен. а вот QObject наследую (а именно в этом случае Qt предстает как язык) только в крайней необходимости
Qt - это как Delphi, только для С++.
> Qt - это как Delphi, только для С++.анонимус — это как человек, только без мозгов.
Имеющий персональное погоняло тоже может быть деревянным.
> Имеющий персональное погоняло тоже может быть деревянным.«а у соседей тоже насрано» — не повод забить на уборку у себя.
Самокритично.
>Qt - это как Delphi, только для С++.Только лучше.
Лучше чем что?
Чем делфи со свом vcl.
Ага, лучше. Также, как среда Delphi извратила Pascal, превратившись в язык Delphi, так и Qt извращается над C++. Где сейчас Delphi? На задворках истории. Там же будет и Qt. Ибо не надо извращать под себя стандарт, не нравится (не устраивает) С++ - придумали бы свой язык.
по-моему, «не нравится» тут именно тебе. не нравится — не пиши, тебя что, заставляют?
А вот тут не нужно обобщать. Всё что связано с делфи (и язык, и библиотеки, и компилятор,.. в общем всё) были в одних руках и развивались как единое целое.
Qt и С++ друг-другу параллельны. Так что дельфийный вариант — не вариант.Ну решили создатели Qt использовать только объектно-ориентированную парадигму (и не использовать (или слабо использовать) функциональную и обобщённую), так это их право. Реализация логически стройная и с низким порогом вхождения.
Только в этом плане с делфи и сравнивается.При этом все возможности языка доступны для использования (главное чтобы логику не нарушало смешение стилей и всё), обилие сторонних библиотек (один буст чего стоит), кросс-платформенность (поищите интервью с создателем тотал коммандера. Как он был вынужден делаеть его для 64-бит на фри-паскале и лазарусе. И это только о вантузе и х86 речь!), быстродествие,..
В общем плюсов очень много.
И пока в С++ нет std::gui практически Qt без вариантов отличное решение для разработки юзер-спейса.
> Где сейчас Delphi? На задворках истории."На задворках истории" потому что не мультиплатформенное. И менно поэтому - "на задворках"
> Там же будет и Qt. Ибо не надо извращать под
> себя стандарт, не нравится (не устраивает) С++ - придумали бы свой язык.Не надо отображать свои мечты о "своей собственной школьной программе" на мир взрослых.
> «На задворках истории» потому что не мультиплатформенное. И менно поэтому — «на
> задворках»ещё и потому, что vcl — говноговноговно. за конструктор форм, который расставляет контролы по координатам, надо было изначально отрубать руки и ссылать очень далеко. а они до седьмой версии включительно (дальше не видел) никаких намёков вообще на layout managers не имели (anchor'ы не считаем: это настолько убого, что даже не смешно).
если за это не убивать, то за что же тогда?
>> «На задворках истории» потому что не мультиплатформенное. И менно поэтому — «на
>> задворках»
> ещё и потому, что vcl — говноговноговно. за конструктор форм, который расставляет
> контролы по координатам, надо было изначально отрубать руки и ссылать очень
> далеко. а они до седьмой версии включительно (дальше не видел) никаких
> намёков вообще на layout managers не имели (anchor'ы не считаем: это
> настолько убого, что даже не смешно).Да, layout отсутсвовал как класс. AFAIR как и во всех видовых т.н. RAD'ах. Возможно, по причине того, что в убогом вендовом GUI с фактически "прибитым гвоздями" DPI оно и не нужно/бесполезно?:)
> если за это не убивать, то за что же тогда?
Надо. Но, всё же, это ИМХО следствие "одноплатформенности", а за неё "убивать надо" в первую очередь:)
> Возможно, по причине того, что в убогом вендовом GUI с
> фактически «прибитым гвоздями» DPI оно и не нужно/бесполезно?:)а вот не прибито, в том-то и фокус. причём виндовые диалоги, которые из ресурсных шаблонов создавались — они как раз используют нечто под названием «dialog units» и вполне себе нормально масштабируются, когда меняешь DPI. а вот большинство дельфософта при смене DPI раскорячивало так, что хотелось обнять и заплакать, приговаривая: «бедный ты, бедный, какой же изверг это тебя…»
> Надо. Но, всё же, это ИМХО следствие «одноплатформенности»
прежде всего — отсутствия мозгов и неумения немного думать наперёд. я, в принципе, не удивлён, что с такими талантами хейлсберга взяли библиотеку для сишарпа дизайнить.
Про отсутствие мозгов кричать - много ума не надо.
VCL - хорошо спроектированная библиотека. О чем косвенно говорит и тот факт, что Kylix под линукс создали, не ломая VCL.
И да, делфийские контролы вполне себе масштабировались, причем так же легко, как и вообще создавался GUI в делфях.
о, а вот и слаще хрена не евший пришёл мне рассказывать про delphi. голубчик, я с delphi работал с первой версии по шестую, и дизайн VCL знаю далеко не по рассказам соседей.так вот. сделано оно было странно, местами загадочно криво, а «лёгкое создание GUI» — это как раз для того случая, когда всё прибито гвоздями. смотреть на расстановку панелей, чтобы формы издалека напоминали «резиновые», без слёз было невозможно. потому что в Отлично Сдизайненой Библиотеке никто, отчего‐то, не знал про layout managers.
а вообще, среда у delphi по удобству была примерно как сильно испорченый и забагованый smalltalk, переписаный к тому же на gw-basic. счастье же дельфистов в том, что они по уровню примерно такие же, как похаписты, и тоже ничего нормального в жизни не использовали. вот им и нравится.
Не делать предположений о людях лишь на основе собственных фантазий. Твою репутацию это не поправит, конечно, но в глазах новичков хоть пару постов за адекватного собеседника сойдешь.
А то, что ты за 5 лет пользования средой, так и не научился делать интерфейс не прибитым гвоздями - ну дык, такие "пользователи" и есть причина, по которой у Delphi - отличной RAD (по крайней мере, для своего времени) - дурная репутация.
> Не делать предположений о людях лишь на основе собственных фантазий. Твою репутацию
> это не поправит, конечно, но в глазах новичков хоть пару постов
> за адекватного собеседника сойдешь.вот видишь: ты всё знаешь. а почему ты не делаешь это?
> вот видишь: ты всё знаешь.ты вгоняешь меня в краску.
> а почему ты не делаешь это?
Что "это"? Почему я не делаю ВСЁ? Не, ну, я, конечно, всемогущий, просто не люблю выпендриваться. А почему ты спрашиваешь?
вот видишь, какой ты дурак — не можешь понять даже то, что сам написал. а промолчал бы сразу — был бы похож на умного. издалека.
> вот видишь, какой ты дурак — не можешь понять даже то, что
> сам написал. а промолчал бы сразу — был бы похож на
> умного. издалека.Не думал, что придется объяснять, но так и быть. Объясняю. Я не смог понять,что написал ты, а не то, что сказал я сам. Собственно, это довольно очевидно. Но я на всякий случай над вопросом даже цитаты оставил. Ну чтоб даже тебе было понятно, к чему вопросы относятся. Наверное надо было картинками...
И, кстати. Ты меня не знаешь. И даже не видел. Но был готов меня считать "умным издалека" лишь на основании молчаливости? Должно быть ты питаешь глубокое уважение к интеллекту кактусов. Они даже листьями не шелестят.
> Я не смог понять,что написал тынатурально. именно потому, что ты дурак, и не способен мыслить самостоятельно. впрочем, с тобой в компинии большинство людей.
> И, кстати. Ты меня не знаешь. И даже не видел. Но был
> готов меня считать "умным издалека" лишь на основании молчаливости?конечно. если человек молчит — значит, у него хватает мозгов как минимум на то, чтобы не демонстрировать прилюдно свою глупость. а, значит, уже не совсем дурак.
> Должно быть
> ты питаешь глубокое уважение к интеллекту кактусов. Они даже листьями не
> шелестят.вот видишь, насколько ты дурак? ты же не понимаешь различия между человеком и кактусом — это уже совсем клиническая форма.
> конечно. если человек молчит — значит, у него хватает мозгов как минимум
> на то, чтобы не демонстрировать прилюдно свою глупость. а, значит, уже
> не совсем дурак.А еще человек может молчать, потому что ему нечего сказать из-за отсутствия мыслей. Или потому что его бьют всякий раз, как он открывает рот. Или потому, что он не научился говорит в силу недоразвитости.
Но если нести чушь с уверенностью и не моргать, то кажешься убедительным. На этой модели поведения даже в парламент можно попасть. Не пробовал?
> вот видишь, насколько ты дурак? ты же не понимаешь различия между человеком
> и кактусом — это уже совсем клиническая форма.Чем больше я тебя слушаю, тем больше верю, что иногда разницы действительно почти нет.
> Но если нести чушь с уверенностью и не моргать, то кажешься
> убедительным.тебе видней, у тебя опыт.
>> вот видишь, насколько ты дурак? ты же не понимаешь различия между человеком
>> и кактусом — это уже совсем клиническая форма.
> Чем больше я тебя слушаю, тем больше верю, что иногда разницы
> действительно почти нет.вот чему я в вас, дураках, всегда поражаюсь — это тому, что сказавши глупость, вы вместо чтобы это признать, начинаете с бесшабашной какой‐то удалью жрать гуано в прямом эфире, демонстрируя свою глупость ещё и ещё. воистину: заставь дурака богу молиться — так он и лоб разобьёт.
> тебе видней, у тебя опыт.Мне видней, потому что я со стороны смотрю.
> вот чему я в вас, дураках, всегда поражаюсь
В зеркальце глянь, принцесса.
> с бесшабашной какой‐то удалью жрать гуано в прямом эфирене знаю, на чем ты сидишь, но выдыхай уже.
> не знаю, на чем ты сидишьтут я тебе не товарищ, я людей с кактусами не путаю. и мне совершенно неважно, от рождения ты настолько дурак, что не способен строить логические цепочки, или в результате подростковой наркомании: ты одинаково смешной в обоих случаях.
Полезный ресурс, сходу нашел интересующие меня вкусняшки, о которых не подозревал.
Вот это годно! Вот это хорошо. Хотя в большинстве мне хватает стандартных возможностей языка/qt.
"Integration with distributions, so that libraries can be installed from inqlude via the native package management systems. This already works for openSUSE provided the meta data is there, but it would be nice to expand this support to other systems as well. " - по ссылке из новости. Только зачем надо делать аналог Ministro для обычного Linux. В Андроиде он уместен, а тут?
а какие лицензии на библиотеки?
Давно хотел перейти с Java на C++, но больше всего меня мущало отсутствие инструмета для управления зависимостями по типу Мавена.
Попробую, может это как раз то что нужно?
У Qt одна зависимость - Qt.
Вообще-то Qt более модульный чем вы тут вещаете.
это вам не на php переходить, тут не то что смущает что то, для С++ нужно мозг немного свернуть, чтобы понять и перейти...
что-то, ёптa
> Давно хотел перейти с Java на C++не надо. оставайся на жабе, там хорошо и бананы.
А чего ты так испугался? Думаешь он у тебя работу отнимет, ты не волнуйся, ты потом сможешь у них подработать, набиватели текста всем нужны.
спасибо, я джва года мечтал прочитать суровую былину о твоей карьере.
В принципе Java меня вполне устраивает, но политика компании Oracle иногда меня пугает. Хочется иметь запасной вариант.
И ещё: раньше Sun активно создавала стандарты (jsr). Про то что Oracle создаёт jsr я практически не слышу. Этак придётся на javascript переходить...
> В принципе Java меня вполне устраивает, но политика компании Oracle иногда меня
> пугает. Хочется иметь запасной вариант.
> И ещё: раньше Sun активно создавала стандарты (jsr). Про то что
> Oracle создаёт jsr я практически не слышу. Этак придётся на
> javascript переходить...... для начала поняв, что Java - это не диалект JavaScript. Или наоборот?
зато жабосткриптеры сейчас тоже востребованы: надо же кому-то быдлокод «для веба» генерировать.
Здорово, вообще много полезностей оттуда добавил в закладки. Особенно quazip порадовал - месяц назад искал библиотеку для работы с zip-архивами, с Qt интерфейсом, но остановился на libzip (как позднее выяснилось, не поддерживает Unicode-символы в путях файлов).ps 84848 капча, забавно)
Кстати, сходу вопрос: кто-нибудь из присутствующих (кто юзает кьюти) видит смысл в "фреймворках поверх Qt" qtilities или libqxt ?
Посмотрел присутствующие там классы, все поверхностно вроде клево, но начинаешь копать - какая-то специфичная заточка под конкретные нужды авторов навроде "кастомный Label. Позволяет крутить текст так и сяк".
смысл такой: иногда оттуда можно дёрнуть код.
и огрести проблем с лицензиями, ага. не все опенсорсные лицензии совместимы друг с другом. и есть пачка проблем при совместимости с gpl v2/v2+/v3 тоже
> и огрести проблем с лицензиями, ага.ну кто же тебе виноват, что ты занимаешься копипастой не приходя в сознание?
qxt - юзаю, qtilities - сумбурная полуполезная хрень.
поэтому да, смысл есть.
интересно, а кто-нибудь пользовался maven-nar-plugin для сборки с++ ?
http://duns.github.io/maven-nar-plugin/
С хорошим почином!
ага, а на http://qt-apps.org/ Шумахера забанили?
Ждем Qt on rails
inqlude.org/libraries/qdjango.html
Это все прекрасно, но в CPAN, RubyGems, Maven подавляющее количество библиотек/гемов идут под MIT/Apache-like лицензиями, что позволяет просто использовать и не париться с лицензированием. Такая же хрень в Qt не взлетит потому, что OSS разработчики и так свои OSS либы знают, а коммерческие их просто так использовать их не смогут, поскольку там засилие Copyleft, и ничего другого не предвидется.