Проект LeanQt приступил к развитию урезанного ответвления от Qt 5, нацеленного на упрощение сборки из исходных текстов и интеграции с приложениями. LeanQt развивает Рохус Келлер (Rochus Keller), автор компилятора и среды разработки для языка Oberon, завязанных на Qt 5, с целью упрощения компиляции своего продукта с минимальным числом зависимостей, но с сохранением поддержки актуальных платформ. Код продолжает развиваться под лицензиями GPLv3, LGPLv2.1 и LGPLv3...Подробнее: https://www.opennet.dev/opennews/art.shtml?num=57836
Да уж, от QML точно стоит избавиться.
> Да уж, от Qt точно стоит избавиться.fixed
Не будут поддерживаться:
D-Bus, SQL, SVG, ..., BluetoothИз платформ решено не поддерживать:
iOS, WinRT, Wince, Android, Blackberry, nacl, vxWorks и HaikuДумаю, причина в том, что "на компьютере Виндовс 98..."
про ведро и яблоко - там Qt не нужен от слова совсем.
Остаётся вопрос: какое это тогда Qt, если в нём три платформы остаётся. Смысл?
Qt прекрасен кросспалатформенностью. Т.е. если что-то норм сделано на Qt, то можно утащить вот на эту Haiku. А так...
Любители Хайку быстро допилят поддержку Хайку в этом форке, если он взлетит.
А зачем sql и bluetooth в qt? Вы еще сокеты туда попросите. Это все равно будут примитивные обвязки вокруг натуральных человеческих библиотек? Что касается svg, то это еще сырое поделие, не поддерживающее даже масштбирования текста. Да и формат немекает на инклюзивность и даже на мультигендерность. Что касается мчЦщклы, то как они вообще жили до того, как появился qt...
Решение не продвигать на членпады остается только приветствовать -- из-за того, что фигаро тут и фигаро там, убогий UI с членпадов тихой сапой переплыл на десктоп. Дошло до того, что без мышки даже пункт из списка не выбрать, страницы не листаются, скроллинг не работает.
> Это все равно будут примитивные обвязки вокруг натуральных человеческих библиотек?Вся прелесть фреймворка именно в наличии удобных оберток, прозрачно оборачивающих наборы данных без лишних самописных оберток для гуи, базы и сети.
И перейти на гтк 2? :)
Libadwaita
> перейти на гтк 2?не перейти, а остаться на годноте.
Фу, Qt 5 без QML? И много софта можно будет собрать с таким Qt? (Нет)
Свободное программное обеспечение в первую очередь делается для себя, для решения своих задач. В частности это как написано в новости -- для среды разработки языка Oberon, а не для какого-то гипотетического "много софта".
Это ж куть здорового человека. А с QML куть вебмакаки. Тормозное лагучее УГ странно собирать с минимальным кутем.
А что не так с qml?
Я просто как-то делал гуи для личного пользования и одним из критериев было наличие отдельного файла с интерфейсом, т.к. предыдущая программка на ncurses... скажем так, до условного релиза дошёл уже простой скрипт на bash.
P.S.
До кутэ я так и не дополз - наткнулся на glade, который полностью устроил меня свои функционалом.
Вас пугает то, что там что-то js'ное или css'ное? Ну так вы вкурите тему, может там ничего страного, и оно вообще собирается? А может таки страшно? Вы же просто знакомые слова увидели, правда?
> Отдалённые планы: модули QtGui и QtWidgetsну когда будет тогда и поговорим
Действительно, это единственное, что по-сути необходимо от кьют.
Согласен, от Qt в принципе нужно отказаться из-за всего, что в нем есть помимо, собственно, гуя.Моя личная история с Qt: посмотрел, увидел QObject и всю катавасию с ним связанную, забыл про Qt навсегда.
Правильно говорит не осилил.
>посмотрел, увидел QObject и всю катавасию с ним связаннуюПосмотри тогда на "чудесные" макросы GObject.
Посмотрел, спасибо! То, что нужно.
Извращенец!
Но при этом их не нужно отдельно компилировать. Qt могла бы к переходу на 6 наконец-то избавиться от MOC. А то вообще не понятно, а почему не 5.16, а 6? А, наверняка, потому что Линус может выпустить не 4.20, а 5.И ведь был же пример избавления: https://www.copperspice.com/. Ага, оказывается, для Qt 5 тоже появилась альтернатива: https://github.com/woboq/verdigris. Но когда же наконец-то в ванильном Qt!?
Попробуй на голых плюсах пописать, сразу поймёшь, откуда это вот всё появилось.
В современных плюсах более чем достаточно возможностей для реализации GUI, не говоря уже обо всём остальном.
Ну да, ну да 🤭
Но есть-то, есть. Но самому GUI-либу на этом писать from scratch... пенсия наступит.
Возьми что-то готовое, исходя из своих задач
Есть пример гуев, написанных на плюсах и нормально рисующихся например на андроид?
Андроид плохой пример, там на без Ява костылей ничего не делается. В топу его проблемы, пусть сами подтягиваются сперва.
Я пробовал. Не понял, откуда появилась обёртка над dynamyc_cast<>, которая отличается лишь названием. Точнее, понял - писали это, когда в голых плюсах dynamyc_cast не было. Но проверять эту гипотезу не стал, некогда, надо было выбирать меж std::list и QList.
Можно взять CopperSpice
> Отмечается, что в последние годы наблюдается тенденция к раздутию Qt, переусложнению и обрастанию спорной функциональностью, а установка бинарных сборок требует регистрации на сайте коммерческой компании и загрузки более гигабайта данных.Человек не понял, что Qt состоит из модулей, которые можно загружать отдельно и из-за этого форкнул Qt? qtbase наверное лет 10 не менялся по составу сильно.
а QtCore?
> а QtCore?Что QtCore? Это часть репозитория qtbase.
Модуль за модулем тянется.
Кто-нибудь сделает гуй на куте, потому что там удобно, а оказывается полдистрибутива устанавливается.
> Модуль за модулем тянется.
> Кто-нибудь сделает гуй на куте, потому что там удобно, а оказывается полдистрибутива
> устанавливается.Ну тебе точно не нужно больше гигабайта модулей, чтобы запустить консольное приложение или приложение на QtWidgets. Достаточно лишь qtbase.
> гуй на кутеСейчас это меньше 20 Мб зависимостей: core, gui, widgets + пара плагинов для X11. Если компилять - 40Мб (добавляем инклюды, qmake, moc, uic, lrelease). Причём в core сегодня входит и xml и json и ещё много спорных вещей... А в современный gui входит много разной фигни для qml (которая вряд ли используется в widgets) и поддержка всяких fbdev, drm/kms и т.д.
> а оказывается полдистрибутива устанавливается.
Вот надо на причины смотреть, иногда "полдистрибутива" устанавливается из-за всяких QR-кодов, необходимости web-браузера, поддержки мультимедийных форматов, авторизации в gmail/google-disk и прочей лабуды. Не стесняйся - открывай исходники и выпиливай нафиг! Ну и сборку можно править - нафиг ненужна интеграция с GLib/GTK и всякие непонятные tiff и tga.
Ильяфедин, объясни пожалуйста, какого ху десктопная телега сует мне мусор в .local/share/applications? Дистрибутивная телега уже содержит правильный десктоп-файл с MimeType=x-scheme-handler/tg; Порешал эту дикость при помощи chmod 0500 ~/.local/share/applications. Хотя бы опцию компиляции сделай, которая отключит эту дикость.
> Ильяфедин, объясни пожалуйста, какого ху десктопная телега сует мне мусор в .local/share/applications?
> Дистрибутивная телега уже содержит правильный десктоп-файл с MimeType=x-scheme-handler/tg;
> Порешал эту дикость при помощи chmod 0500 ~/.local/share/applications. Хотя бы опцию
> компиляции сделай, которая отключит эту дикость.Это чтобы при каждом обновлении быть уверенным в том, что текущий инстанс - дефолтный хандлер, это кроссплатформенное поведение, не ясно, зачем тут должна быть опция сборки.
> быть увереннымЭту уверенность уже предоставляет дистрибутив, который привязал телегу к tg:// еще до первого запуска телеги.
> не ясно, зачем тут должна быть опция сборки
Затем, чтобы не засорять папку пользователя. Тем более засоряется она десятками десктоп-файлов с абсолютно одинаковым содержимым. "Официальная" телега пусть и дальше засоряет, но дистрибутивные пусть интегрируются в дистрибутив правильным образом (а не т.н. "кроссплатформенным").
>> быть уверенным
> Эту уверенность уже предоставляет дистрибутив, который привязал телегу к tg:// еще до
> первого запуска телеги.У тебя может быть несколько копий установлено или быть несколько workdir'ов
>> не ясно, зачем тут должна быть опция сборки
> Затем, чтобы не засорять папку пользователя. Тем более засоряется она десятками десктоп-файлов
> с абсолютно одинаковым содержимым. "Официальная" телега пусть и дальше засоряет, но
> дистрибутивные пусть интегрируются в дистрибутив правильным образом (а не т.н. "кроссплатформенным").Ну, это возможно только если стоит несколько копий или несколько workdir'ов и они друг-у-друга перехватывают. Поведение не идеальное, но лично мне и так нормально - я не страдаю манией проверять сколько у меня файлов в скрытых директориях. Если можешь сделать генерацию лучше - можешь отправить PR.
Это додумывание за пользователя, с каким workdir (профилем) открывать tg://. Кто приписал workdir, может и desktop-файл сам сделать, не думаю, что это повод загаживать 99% систем, где workdir не используется, а если и используется, то подобная автоматизация не нужна.
Напиши уже сам хоть одну программу, которая делает что-то полезное, а потом учи людей, что и как им следует делать, что бы тебе было удобно собирать пакетики. И читать заодно научись: «Если можешь сделать генерацию лучше - можешь отправить PR». Ах, да, это надо кодить, а у тебя #define объявляет переменную.
> И читать заодно научись: «Если можешь сделать генерацию лучше - можешь отправить PR».Читай ветку внимательнее: дистрибутивно-распространяемые программы вообще не должны генерить десктоп-файлы. Т. е. патч mikhailnov вполне корректен, попробую создать PR, но не в телегу (т. к. Ильяфедину плевать на мусор в хомяке), а в мой дистрибутив.
Вот пусть mikhailnov и собирает пакетики со своим «корректным патчем» молча, без хамских эпитетов «дичь» и «загаживать». Дичь - это когда обслуживающий персонал без образования, без опыта разработки, кто был неспособен «собственный» дистрибутив заставить работать, что-то тут требует.
> требуетТы б сдерживал воспаление фантазии.
> Ты б сдерживал воспаление фантазии.Ты хочешь, что бы я помог тебе перестать видеть «загаженное» и «дичь» в необходимых для корректной работы приложения файлах? Сам не можешь, как и в случаях с «автокрап» и «обезьяньими потугами»?
> Вот пусть mikhailnov и собирает пакетики со своим «корректным патчем» молча,
> без хамских эпитетов «дичь» и «загаживать». Дичь - это когда обслуживающий
> персонал без образования, без опыта разработки, кто был неспособен «собственный»
> дистрибутив заставить работать, что-то тут требует.А таки нормальное пожелание от майнтайнера дистра, остальные бинарные дистры в идеале хотели бы чего-то такого. Я не пользуюсь росой но желал бы чтобы майнтайнеры меня защищали от софта который думает что он такой офигенный и поэтому ему можно гадить в user dirs своим крапом во имя луны.
Если кто не понял: активность вон тех гамнокодеров с их аргументами про какую там портабельность и проч ведет к превращению моей системы в виндообразную помойку с разве что не DLL HELL, и одна из обязанностей майнтайнеров это стать вратарям на воторах, чтобы меня такие выс@ры мегакодеров не огревали. А так то да, вратарь лох, голов не бьет, давайте его уберем, типа?!
>> Вот пусть mikhailnov и собирает пакетики со своим «корректным патчем» молча,
>> без хамских эпитетов «дичь» и «загаживать». Дичь - это когда обслуживающий
>> персонал без образования, без опыта разработки, кто был неспособен «собственный»
>> дистрибутив заставить работать, что-то тут требует.
> А таки нормальное пожелание от майнтайнера дистра, остальные бинарные дистры в идеале
> хотели бы чего-то такого.Отучаемся говорить за всех. Тем более, что в данном случае это обвинение остальных в профнепригодности. Если кто-то в дистрибутиве взял на себя смелость и расположил необходимые для работы приложения файлы в угодном ему месте, значит это его задача, отвечать за свои действия и адаптировать приложение. Кто это не понимает, пусть идёт собирать пакетики на пляже, тыкая в них старой лыжной палкой.
> Отучаемся говорить за всех.Как минимум многие дистры где я знаю майнтайнеров сказали бы что-то такое же.
> Тем более, что в данном случае это обвинение остальных в профнепригодности.
ИМХО близко к тому. Если майнтайнер пакета позволяет кодерам делать в системе юзера неконтролируемую помойку в user dirs, не дай боже еще и пакетным менеджером, возникает простой вопрос: а зачем у них там пакетный менеджер вообще? Можно тарбол распаковывать, а юзер потом пусть эти подарки руками выковыривает, примерно такой же уровень системной автоматизации.
В случае user dirs сложно корректно идентифицировать подлежит ли файл сносу при деинсталле программы. И вон те красавцы все очень усугубляют, нормальный майнтайнер такое за версту чует.
> Если кто-то в дистрибутиве взял на себя смелость и расположил необходимые для
> работы приложения файлы в угодном ему месте, значит это его задача, отвечать
> за свои действия и адаптировать приложение.Естественно это задача майнтайнера поддерживать декларируемые полиси. Но далее идет вопрос о том кооперативный апстрим или нет, и вообще насколько хреново с ним дело иметь. Хороший апстрим учтет проблемы даунстримов, сделав им -1 патч. Хреновый покажет чудеса кооперации, спихав все траблы на даунстримы. И это вполне себе индикатор что из себя являет тот софт. Скажем Илья Федин пряммым текстом расписался он linux-unfriendly для большинства дистров и рассматривает их как второй сорт.
> Кто это не понимает, пусть идёт собирать пакетики на пляже, тыкая
> в них старой лыжной палкой.На мой вкус, пусть на лыжи встают майнтайнеры позволяющие гадить в user dirs, при том чтобы им было понятнее, отправить их в таком прикиде на ралли Париж-Дакар, примерно то же самое что из пакетного менеджера в юзердиры гадить по смыслу.
>> Отучаемся говорить за всех.
> Как минимум многие дистры где я знаю майнтайнеров сказали бы что-то такое
> же.Что-что? Сказали БЫ? По-русски говорить уже разучился? Вот пусть сначала скажут, а потом ты будешь тут что-то из себя строить.
> Напиши уже сам хоть одну программу, которая делает что-то полезное, а потом
> учи людей, что и как им следует делать,Не зря говорят что гордыня предшествует падению. Это твое падение, нуб. С точки зрения нормального дистрибутива (гента за это не считается, это помойка) программы и либы НЕ ДОЛЖНЫ гадить в юзеровские диры подобным способом. И это более-менее консенсус по всем более-менее нормальным бинарным дистрам и их майнтайнерам. А то что ты этого не знаешь - в этом месте mikhailnov оказался компетентнее чем ты. Хорошо погарцевал?
> что бы тебе было удобно собирать пакетики.
Дружественность программы к дистрибутиву - идея хорошая. Майнтайнеры тоже люди и зачем им гадить лишний раз на голову, спрашивается? Они конечно отматерятся да перекроют локальным патчем кривой апстрим, но в идеале, если апстрим культурный, таких патчей должно бы стать 0.
> а у тебя #define объявляет переменную.
А ты слил дискуссию вот такому персонажу. Шикарно!
>> Напиши уже сам хоть одну программу, которая делает что-то полезное, а потом
>> учи людей, что и как им следует делать,
> Не зря говорят что гордыня предшествует падению.Вот именно, эти самые майнтайнеры тут систематически распинаются, что без них приложения не работают, поскольку авторы криворукие и так далее. А на деле вон оно как - полили работу автора экскрементами, и ещё чего-то от него хотят.
> Майнтайнеры тоже люди и зачем им гадить лишний раз на голову, спрашивается?
Фу, какой же ты лицемер. Иди и спрашивай своего друга, у которого #define объявляет переменную, кто ему дал право писать тут «дичь» и «загаживает» и при этом жить на доход с продажи того приложения.
> Вот именно, эти самые майнтайнеры тут систематически распинаются, что без них приложения
> не работают, поскольку авторы криворукие и так далее.В конкретно вон том случае он сказал как настоящий майнтайнер, которого я бы не стыдился и в лично моем дистре и меня бы устроил такой "вратарь", не дающий мне в систему гадить вон теми поползновениями, чтобы пакетный менеджер мог выкорчевать программу со ВСЕМИ ее артефактами если такое решение принято, но при этом не тер configs/userdata если такое решение не было принято (скажем юзер рассматривает идею потом поставить программу опять).
> А на деле вон оно как - полили работу автора экскрементами, и ещё чего-то
> от него хотят.Лично я согласен с поливанием, за враждебное к бинарным дистрам поведение софта. Это плохой апстрим для большинства линуксов.
> Фу, какой же ты лицемер. Иди и спрашивай своего друга, у которого
> #define объявляет переменную, кто ему дал право писать тут «дичь» и
> «загаживает» и при этом жить на доход с продажи того приложения.Он мне не друг, но #define не актуально в контексте структурирования пакетов и если некто думает как майнтайнер и говорит как майнтайнер, вероятно, он им и является. Майнтайнер как таковой не кодерская роль. Хотя разумеется в идеале майнтайнер должен уметь патчить "свою" софтину, иначе тяжко ему будет при случае.
>> Вот именно, эти самые майнтайнеры тут систематически распинаются, что без них приложения
>> не работают, поскольку авторы криворукие и так далее.
> В конкретно вон том случае он сказал как настоящий майнтайнер, которого я
> бы не стыдилсяА ты вообще кто, что бы твоё мнение что-то значило? Был майнтайнером? Или может доделывал вон за тем «майнтайнером» висюки, поскольку тот не мог разгрести ту «дичь» (ц), что до него наворотили? Нет. Опять суёшь нос в дела вне своей компетенций, да ещё и на территории где сам не живёшь.
Не тратьте время, пошлите её на chroot, и пусть себе пишет.
Эту дичь приходится выпатчивать: https://abf.io/import/telegram-desktop/blob/rosa2021.1/Disab...
>Ильяфедин, объясни пожалуйста, какого ху десктопная телега сует мне мусор в .local/share/applications?Потому что надо было проникаться духом unix, духом unix никто не проникся.
Когда вайршарк на него перейдёт - тогда и посмотрим.
Тоже мне, нашел на что равняться.
> Тоже мне, нашел на что равняться.Вайршарк по крайней мере что-то полезное. В отличие от какой-то ide для какого-то оберона, нужного 0.5 землекопа на планете.
Когда хоть что-либо с ним соберётся
> попытка создание лёгкого варианта Qt 5.6.3Я даже не буду спрашивать почему хотя-бы не Qt 5.15, когда есть Qt 6. Нравится некоторым немцам хоронить свой труд заживо.
Очевидно же, что Qt6 реше_то.
Последний приемлемый 5.12.12
всё так, да и то...
Qt 5.12.12 для ленивых. Это последний дистрибутив, у которого есть offline инсталлятор. Только в России нужно отключать компьютер от сети при установке. Иначе он лезет в сеть, что-то проверяет и не хочет устанавливаться.
Но есть другой путь. Включаем в браузере плагин на VPN, качаем исходники Qt (например Qt 5.15.6): http://download.qt.io/official_releases/qt/Кстати, качать по VPN не нужно. Нужно зайти по ссылке и для нужного архива нажать кнопку Details и там будет ссылка на торрент или на незаблокированное зеркало. Потом не забыть проверить MD5.
Дальше устанавливаем MSYS2 там несколько видов компиляторов, мне нравится Clang т.к. использует UCRT (Universal C Runtime), а не старый не поддерживаемый CRT (C Runtime). Не забываем поставить все для сборки Qt: perl, ruby, python2 (именно 2, а не 3), ninja, cmake, toolchain. Конфигурируем Qt, собираем, профит.
Кстати, можно не собирать Qt, а тоже установить из MSYS2. Но он там собран с жирными зависимостями (например расширенная поддержка юникода примерно +25 Мб – это отдельная либа без которой можно обойтись и оригинальный бинарник Qt собран без нее).
Правда для сборки Qt5 нужен один пач, иначе не соберется: https://github.com/msys2/MINGW-packages/tree/master/mingw-w6...
Qt6 собирается без пачей.
Забыл добавить, что все нужное (perl и т.д.) ставится через MSYS2, а не отдельно. Потом все установленное через MSYS2 можно легко обновить. Как я понял, MSYS2 это пакман из арча, портированный на винду.Для сборки Qt6 нужен python3, а не python2.
> качаем исходники QtРядом же лежат бинарные сборки, правда кусками. Качай их! Например, 5.15.2 (x86)
mingw: https://master.qt.io/online/qtsdkrepository/windows_x86/desk...
mingw_runtime: https://master.qt.io/online/qtsdkrepository/windows_x86/desk...qtbase: https://master.qt.io/online/qtsdkrepository/windows_x86/desk...
qttranslations: https://master.qt.io/online/qtsdkrepository/windows_x86/desk...
qttools: https://master.qt.io/online/qtsdkrepository/windows_x86/desk...Потом поменяешь mkspecs/qconfig.pri, чтобы qmake заработал (ещё нужен binary patcher для qmake и dll, но можно и без него):
sed -e s/"QT_EDITION = Enterprise"/"QT_EDITION = OpenSource"/ -e s/"QT_LICHECK = licheck.exe"/"QT_LICHECK = "/ -i.bak ./drive_c/qt/5.15.2/mingw81_32/mkspecs/qconfig.pri
P.S. Разработка в линуксе, компиляю и финальные тесты в wine.
Можно и так. Кому как нравится. Но я уже на Clang подсел. Очень мне понравился MSYS2 в винде, можно быстро и без всяких VPN установить Qt-Creator да впрочем и Qt если нет требований к размеру библиотек.>P.S. Разработка в линуксе, компиляю и финальные тесты в wine.
Аналогично. Разработка в линуксе, сборка в линуксе и в винде.
Потому что 5.6.3 это последняя lgplv2 версия Qt
LGPLv3 лучше.
Напомнило вот этих гениев https://github.com/copperspice/copperspice , который форкнули Qt, чтобы избавиться от moc, но им наглядно продемонстрировали всю никчемность их деятельности https://woboq.com/blog/verdigris-qt-without-moc.html
Ну а что делать если сам по себе Qt неудобоваримое нечто?
Если не нравится Qt, пользуйтесь MAUI на здоровье.
К вопросу о «закрытости» Qt, о которой тут регулярно ноют.
причём тут этот вопрос?
а "ноют" о полупроприетарной политике
> причём тут этот вопрос?
> а "ноют" о полупроприетарной политикеНовость-то о форке.
в которой упоминается> установка бинарных сборок требует регистрации на сайте коммерческой компании и загрузки более гигабайта данных.
> Не будут поддерживаться: расширенные кодировки, анимация, мультимедия, SQLникому ненужный обрезок
>Для сборки вместо qmake задействована собственная сборочная система BUSY.Закапывайте. Уже нужен завод по сжиганию альтернативных сборочных систем. Как-то понадобилось кросскомпилировать одну софтину, а у неё сборка оказалась через какой-то waf https://en.wikipedia.org/wiki/Waf_(build_system) И как это чудо готовить кросскомпилятором непонятно.
Раньше любой программист на пхп писал свой веб-фреймворк. Писатели на крестах пишут свои сборочные системы, все нормально. Завод по сжиганию несомненно нужен.
> Раньше любой программист на пхпэто как это? вот есть программисты, есть веб-макаки. а вместе не бывает
> есть веб-макакитак не о тебе речь
> Qt 5.6.3пхах. тогда qml даже с колен не встал, кому оно нужно?
> Не будут поддерживаться: qmake, фреймворк State Machine, расширенные кодировки, анимация, мультимедия, D-Bus, SQL, SVG, NFC, Bluetooth, web-движок, testlib, скриптинг и QMа, ясн. я в истерике пацталом
Haiku за что?!
название не нравится.
Меня преследует мысль что он хочет получить аналог стандартной библиотеки python, но для c++. Так как почти всякое gui оставлено на потом, а многое выкинуто.
Если вспомнить что в плюсах в качестве стандартной либы и для каких целей оно создавалось, то его попытка выглядит уже не такой бессмысленной.
Так не переписать ли с нуля тогда, чтобы и лицензию можно было поменять?Как Гугл сделали с явой в Android.
Одному тяжело такое сделать. Надо минимум двое, что бы второй им руководил. ;)
>очищенного от всего лишнего
>задействована собственная сборочная система BUSY/0
В отдаленных планах поддержка GUI
Векторная графика и анимаций не будет.Это очень плохо
> автор компилятора и среды разработки для языка OberonЭто же все объясняет! Он просто привык использовать не взлетевшее!
Сделай лучше!
Он там кастомную билдсистему воткнул. А это отличный общеизвестный способ добиться что проект не взлетит. Даже если ваша билдсистема трижды офигенная, это отдельная кантата которую разучивать надо. Одного этого достаточно чтобы кодеры прошли мимо, предпочтя проекты где не надо грузить мозг технической гадостью не требующейся для вот именно реализации желаемой фичи, или что там.
В этом вот все эти академические изобретатели академических Паскалей.Они берут старую версию чего-то, выпиливают из нея реально нужные вещи и начинают реализовывать странное. Зачем переписывать то, что уже давно есть в STL? А вот GUI в STL нет, как и работы с БД, но это не нужно.
Но и это не всё, нужно ещё взять самописную систему сборки, которой пользуется только он сам.
Всё-таки мозги у людей устроены иной раз очень своеобразно...
>STLЭто мрак, если разобраться. Те же кутишные строки на порядок приятнее.
> Это мрак, если разобраться. Те же кутишные строки на порядок приятнее.Вот только STL-ем пользуются чуть менее, чем все, а qt -- чуть менее, чем четверть плюсовиков. Кроме того STL есть всегда и за собой ничего не тянет, а Qt... тут уже писали.
Угу, миллионы мух не могут ошибаться, да?
Если миллионы мух используют стандарт, а один очень гордый шмель придумал для себя нестандартную реализацию того же самого (и не более), то я на стороне миллионов мух.
>того же самогоДа, конечно. std::string и QString это полные аналоги. Прямо братья-близнецы.
Настолько прекрасный стандарт, что его пришлось расширять в boost, написали QString, StrTk, wxString, icu::UnicodeString и кучу других?
Почему же так случилось... Может потому что стандарт гoвно, но изменить его сложнее чем написать твое?
По мне так упростили бы до минимализма. А то что нужно, библиотеками бы добавлялось, вроде того же буста. Сейчас же это неперевариваемое нечто, которое ещё и разрастается каждые 2 года
Есть ещё std::stringstream, хорошо дополняющий std::string.
Плюс варианты функции sprintf(), snprintf() и т.д.
А это от цели зависит. Если цель не тащить QtCore, то да, можно и пострадать. С дополнительной оплатой, разумеется.
Тоже этого не понял. По факту оставили нестандартные реализации того, что есть в стандарте, и выкинули всё то, ради чего qt используется.
Сигналы и слоты уже есть в стандарте?
А тут есть?
Да
> Не будут поддерживаться: qmake, фреймворк State Machine, расширенные кодировки, анимация, мультимедия, D-Bus, SQL, SVG, NFC, Bluetooth, web-движок, testlib, скриптинг и QML. Из платформ решено не поддерживать iOS, WinRT, Wince, Android, Blackberry, nacl, vxWorks и Haiku.Так все это отдельные модули, или можно выключить с помощью configure. Поддрежка ОС вообще отдельная тема, код для поддержки "iOS, WinRT, Wince, Android, Blackberry, nacl, vxWorks и Haiku" вообще не соберется, если не компилировать именно под эту ОС/платформу.
В итоге чувак хочет просто поиграться со своей новой системой сборки, правильно я понимаю?
Их и к проекту можно не подключать. А qtsvg сейчас даже не в составе qtbase.
IDE Oberon+ от автора LeanQT использует QT.Соответственно -- "свой QT".
Всё логично.
Какой же концептуал без NIH? А то что он концептуал - с его фиксом на обероне однозначно. У таких людей все проекты это "никому кроме автора это не надо, зато все по феншую".
Ну срач это понятно, не осуждаю. А wxWidgets чем не вариант? Или там всё совсем плохо? Как жить то?
Если бы он был wxWidgetsNative, а не wxGTK
> Если бы он был wxWidgetsNative, а не wxGTKЕсть WxQt для ценителей. А что такое "native" в линуксе? Изначально в линуксе никаких тулкитов нет, а устаканившихся либ две - Qt и GTK. Есть и более маргинальные типа FLTK или Enlightenment какого. Они все одинаково нативны относительно линукса.
Сам виджеты рисовал бы, как Qt, GTK, FLTK и делают.
> Сам виджеты рисовал бы, как Qt, GTK, FLTK и делают.При этом придется
1) Это будет чем-то лучше упомянутых? А точно?
2) Это довольно много кодинга, потому что есть xorg, есть wayland и с первого идет переход на второе, но целиком послать первое пока еще напряжно. Это двойной объем работы сразу на старте.
3) Дистры предпочитают GTK+Qt и потому что есть синхронизированые темы. Так что система выглядит как продукт с более-менее единым стилем а не помойка. WxGTK выглядит вполне прилично. А вон то будет выглядеть бельмом на глазу и Wx софт сразу где-то в третьем сорте сразу, на уровне FLTK. Оно точно надо?
А зачем эта бузи если уж удалять кумаке так хоть бы обычный макефайл сделал, ценность в данном случае нулевая
> Коллекции, неявное разделение данных (Implicit Sharing).Разделение бывает на части, а share в приложении к данным и коду -- это "совместно использовать".
Если бы еще clang поддерживать начали бы и убрали всякие макросы из компиляции вроде qmake вообще огонь было бы...
По крайней мере Qt 5.15 поддерживает и прекрасно работает. Найди мой комментарй выше, я объяснил как собрать с Clang в windows.
https://www.opennet.dev/openforum/vsluhforumID3/128541.html#112
Оберонщики же фрики. Даже если он сможет что-то поддерживать, даже если это будет работать, пользоваться этим можно будет только себе во вред.
А вы, батенька неисправимый оптимист Ж-)
> с целью упрощения компиляции своего продукта...
> Для сборки вместо qmake задействована собственная сборочная система BUSYВзаимоисключающие параграфы. Чтобы сбилдить ЭТО надо скачать новую билдсистему и сбилдить сначала ее. Больше эта билдсистема нигде не используется. Такое вот упрощение.
> Хэши md5 и sha1.Вот это можно было бы и выкинуть, оба ломаемы за обозримое время.
Хэши не только для криптографии применяются.
> наблюдается тенденция к раздутию Qtкто бы спорил! но сейчас это везде. (
>урезанный форк QtА для урезанного форка точно надо использовать очередной Meson, а не обычные мейкфайлы?
>Из платформ решено не поддерживать iOS, WinRT, Wince, Android, Blackberry, nacl, vxWorks и Haiku.
А нормальное, без растрирования текста, использование X11 будет?