Компания Qt Company опубликовала релиз фреймворка Qt 6.6, в котором продолжена работа по стабилизации и наращиванию функциональности ветки Qt 6. В Qt 6.6 обеспечена поддержка платформ Windows 10+, macOS 11+, Linux (Ubuntu 22.04, openSUSE 15.4, SUSE 15 SP4, RHEL 8.6/9.0), iOS 14+, Android 8+ (API 23+), webOS, WebAssembly, INTEGRITY и QNX. Исходные тексты компонентов Qt поставляются под лицензиями LGPLv3 и GPLv2...Подробнее: https://www.opennet.dev/opennews/art.shtml?num=59907
Лучший опенсорсный GUI (и не только) фреймворк.
Гибкость, нормальный язык, хорошая дока, в нем есть почти все что нужно для работы.
проблема в том, что это давно уже не гуй
Нас интересует только GUI, никакой проблемы.
Конечно, это "фреймворк для разработки кроссплатформенного ПО", у них даже на сайте написано for creating software applications.
И это отлично - не нужно искать либы для звука или веб-ассембли, за тебя это уже сделали.
Просто берешь и пользуешься.
Использовать qt как прослойку к чужим опенсорсным либам -- это как слушать Чайковского в напеве от Рабиновича.
скажи это разрабам десктопной версии телеги
Там используется что-то, кроме WebView? (по сути тот же электрон)
Там используется только QtWidgets (с QPainter) как раз
Не наблюдаю в Телеге ни одного родного виджета Qt.
> Не наблюдаю в Телеге ни одного родного виджета Qt.Тебе никто не запрещает брать базовый класс QWidget и рисовать вручную через QPainter. Что видно тут же как только читаешь её код (и не находишь HTML/JS).
Пример того, как нельзя делать графический интерфейс пользователя.
В чем пример? Что не так? И как надо было?
Телега протекает не в меру. Никогда бы не подумал, что мессенджер от такой крупной конторы может выжрать 32 гига оперативки, закусить свапом на 70 гигов и сдохнуть, и так каждую неделю, если по крону не перезапускать.
Вывод - используй Windows, там работает всё отлично. Даже с 32 Гб всё работает чётко
до 1 гига у меня жрет, больше всех в системе, но ни о каких 30 гигах и близко нет речи, ищи проблему, и явно не в телеге
> В чем пример? Что не так? И как надо было?Нагрузить клавиатуру по максимуму, а указательному устройству оставить абсолютно подчиненную роль, а может и вообще отказаться от его использования. Когда набирается текст, указательное устройство не нужно от слова вообще -- вы же не используете мышку, работая в вордпроцессоре с документами, так почему в мессенджере нужно постоянно переность руки с клавиатуры на мышку. Это неправильно.
Десктоп, в отличие от гаджета, в качестве устройства ввода имеет полноценную клавиатуру с сотней с лишним клавиш и указательное устройство с разрешением по вводу в пиксель матрицы (порядка сотни на дюйм и более). Гаджет же не имеет клавиатуры вообще, а указательное устройство -- сенсорный экран -- имеет разрешением по вводу в единицы на дюйм. Отсюда следует, что UI на десктопе и на гаджете должны серьезно различаться, чтобы пользователю было удобно с ними работать.
И еще -- человек с точки зрения физиологии зрения, слуха и моторики является константным объектом, поэтому удобный и безопасный интерфейс тоже должен быть константным. Он должен быть рассчитан на здорового человека, имеющего соответсвующие навыки взаимодействия с ним. Для инвалидов и прочих убогих должен быть интерфейс для инвалидов, а для новичков -- тренажеры, котороые помогут им стать более "продвинутыми" в использоани клавиатуры и указателя.
Чайковский так-то денег(времени) стоит, а Рабинович бесплатно поёт(работает из коробки)
А разве это плохо?
У тебя есть возможность достаточно гибко настраивать что используется https://doc.qt.io/qt-6/configure-options.html#modules-and-fe...
Можно вообще GUI не использовать, а взять только Qt Core.
Это не проблема, а преимущество.
>это давно уже не гуйСочувствую вам ...
Владимир
если лицензию использования не читать, то да...
А что не так с лицензией?
Делаешь свой продукт по GPL - получай qt бесплатно по gpl.
Хочешь денег и комерции - ну так плати денежку.
вот и почитай сколько денег ты должен отвалить...
Если revenue and funding меньше $250000 - то попадешь под small business.
42$ на одну лицензию в месяц -> 500 баксов в год.
Посмотри зарплаты и расходы на одного среднего программера и его рабочее место и поймешь, что это не так уж много.
прикол в том, что если ты дорос до хотя бы нескольких рабочих мест, то 250К выручки это не много, из которой большую часть ты понесешь в виде затрат на фонд оплаты, аренды и бла бладругими словами 20 тыс в месяц на все включая налоги, так что не будет никакого смолбизнес, только если ты пилишь сам и у тебя 1, максимум 2 помощника средней руки за недорого
так таким конторкам и лицуха не нужна
Ну так ты тоже не забесплатно раздавать своё проприетарное будешь.
он жадный виндузятник, стыривший винду на рутрекере - он хочет продавать за деньги, а культяпки ему должны дать на халяву...
Все верно.
Именно желание халявы в свою сторону отличает истинного виндузятника от опенсорсника.
В отличии от опенсорса, ни одна проприетарная лицензия не мешала продавать то, что было создано созданно на варезе.
> Хочешь денег и комерции - ну так плати денежку.вообще-то можно не платить, если линкуешь динамически или прилагаешь объектные файлы
Не совсем так, с lgpl у Qt довольно запутанные требования
+ не все компоненты доступны (например 3d studio, кажется доступна только для GPL и для комерции)
https://embeddeduse.com/2023/01/06/using-qt-5-15-and-qt-6-un.../Не большой спец в lgpl, но еще придется предоставлять также средства и инструкции для сборки.
Самые обычные требования с LGPL у Qt. Именно подобную версию использует O3DE.
Я больше хотел обратить внимание, что часть компонентов под LGPL не доступны.
И придется выбирать GPL или платить за лицензию.
Не так уж иного компонентов не под LGPL да и чаще они экзотические и не всем нужны. Например MQTT, OPC UA не под LGPL, но для Qt можно найти аналоги под другими приемлемыми лицензиями.
Немного не так.>Делаешь свой продукт по GPL - получай qt бесплатно по gpl.
Почти весь Qt доступен под лицензией LGPL, что позволяет линковать даже с проприентарщиной. При внесении изменений в саму библиотеку исходники нужно предоставить покупателю.
>Хочешь денег и комерции - ну так плати денежку.
Коммерческая лицензия позволяет не делиться своими изменениями Qt и получить доступ к некоторым компонентам и сборке на некоторые платформы (вроде).
>>Нормальный язык
>>CPPКакое же у вас однако извращённое представление о нормальности
Специально написал "нормальный", а не "хороший", "лучший" и тд
В любом случае это лучше чем void* через gobject'ы гонять...
А какой ты предложишь?
С11 / С17 ? А какие у него преимущества перед плюсами?
Java? там сборщик мусора, для низроуровневых не сильно подходит.
С# - в общем-то тоже самоеRust? во-первых он не настолько проверен + на него сложно перейти концептуально,
а во вторых просто новость об его поддержке, сожжет задницы у плюсовиков в радиусе половины интернета)Всякие хаскели, окалмы и оберены - лучше не надо...
Мой список закончился, можешь добавить свои предложения.
>там сборщик мусора, для низроуровневых не сильно подходит.а в Qt-тешном яваскрипте какой-то особый сборщик мусора который подходит?
> новость об его поддержкеПоддержке в Qt? Это нереально: для Qt нужно наследование, которого в Rust нет.
Ой, а как же так в совершенном-то языке?
> Ой, а как же так в совершенном-то языке?Ну так на он и совершенный, что то что нужно в нём есть, а то что не нужно — нет.
> Ну так на он и совершенный, что то что нужно в нём есть, а то что не нужно — нет.Очевидно, что графика не нужна.
> Java? там сборщик мусора, для низроуровневых не сильно подходит.Низкоуровневые приложения на Qt. Спешите видеть. Что ещё придумаешь? Рилтайм на ncurses? Mission critical на GTK?
Э... низкоуровневые и риалтайм - понятия ортогональные.В банковской сфере для аппарата интерфейс наваять - самое то.
а да, плазма не падает(тм)
Нормальный язык это qml, который по сути JavaScript?
Лучший gui это тот у кого настройки запрятанны во второй уровень выпадающих меню? Copium. Второй уровень выпадающих меню вообще не должен существовать в хорошем gui
> на всех платформах, кроме систем, применяющих протокол Wayland.как обычно... вяленный в своем репертуаре
Потому что нету стандартного протокола без посторонних костылей для этого.
Что???? У вейленда максимально точно известный протокол. У него нету стандартной реализации.
Эталонная реализация есть. Но она жестоко (не просто жестко) прибита к KMS, из-за чего она работает исключительно только на GNU/Linux x86 (i*86. x86_64).
> авторы иксов в своем репертуареПофиксил. Разрабы иксов, имея перед глазами пример того, в какую кучу навоза превращается продукт, в который функционал добавляют по мере появления необходимости, снова допустили ту же ошибку при разработке вяленого. Вместо того, чтобы собрать весь функционал, необходимость которого уже известна (да, не всё нужно всём, но для всего есть кто-то, кому это нужно) и систематизировать его в какую-то осмысленную структуру, они опять решили действовать по принципу "сначала реализуем базовый функционал, а всё прочее потом примотаем сбоку изолентой".
не работает под вяленным, а виноваты авторы иксов :)л - логика
>Добавлен экспериментальный модуль Qt Graphs, нацеленный на предоставление универсального модуля для визуализации больших коллекций быстро меняющихся данных и построения различных видов графиков. Модуль развивается как универсальная замена старого модуля Qt DataVisualization, завязанного на OpenGL, и модуля Qt Charts. Модуль ещё находится в разработке и в настоящее время сосредоточен на воспроизведении функциональности Qt DataVisualization поверх Qt Quick 3D и использовании нового движка рендеринга (RHI, Rendering Hardware Interface), поддерживающего различные 3D API (OpenGL, Vulkan, Metal и Direct 3D).Неужели VTK теперь не нужен?
Быстрее выпускайте 6-е исправление багов.
Довольно мусорный релиз - практически ничего хорошего.
В чём смысл QML которым они только и занимаются до сих пор непонятно. Отличия от HTML/JS и прочих веб-технологий минимальны.
В результате Qt сильно раздута, но чем-то полезны только QtWidgets, так как C++ альтернатив им нет (Gtk тем кто предпочитает плюсы - неудобен).
ну, если тебе не жалко вычислительных ресурсов на рендеринг виджетов и ты готов терпеть тормоза и убогий внешний вид, или тебе 60 и ты физически не спобобен выучить ничего нового (хотя qml уже лет 15, если не 20), то да, юзаешь виджеты
Для задач не связанных с виджетами предостаточно других библиотек.
>ну, если тебе не жалкоА если мне не жалко, то чем этот самый QML лучше флатера/реакт-натива и остальных?
А чем он хуже? Просто еще одна технология.Концепция QML: есть фронтэнд, есть бэкэнд. Фронт может разрабатывать человек, не знающий С++, он много чего может сделать сам через javascript. Чего не может или работает на фронте медленно, заворачивается в бэкенд. А бэкенд это классы, которые пишут на С++ другие люди. В итоге получается десктопное или мобильное приложение, над которым работают не только плюсовики, но и люди, которые умеют в дизайн.
Красивых приложений на Qt всё равно нет.
Красивых - это как для дебилов сделанные, с большими кнопками из текста? Такой фигни нет, все правильно.
Отвратительная концепция QML. Нужно знать два РАЗНЫХ языка программирования. А то, что один человек разрабатывает фронт, а другой бэкэнед - сказка из серии розовых пони.
> В результате Qt сильно раздута, но чем-то полезны только QtWidgetsQt не может быть раздут, потому что в нем все разбито на независимые модули.
Отличный пример правильного развития open source.
Три лицензии для любого типа разрабатываемого ПО: gpl, lgpl и комерческое.В итоге у компании есть средства для развития, не приходится ходить с протянутой рукой.
Не приходится зависеть от хотелок редхата, как гномосекам.
Так редхат - это тоже хороший пример.
Компания является одним из локомотивов развития линукса, сделала существенный вклад в GNOME, cygwin, systemd, pulseaudio.
И еще куча других проектов https://www.redhat.com/en/about/open-source-program-office/c...При этом компания, как и КюТэ, тоже прибыльная, не просит подаяния. Не обращает внимание на бесполезные хотелки залявщиков.
Один из примеров, как нужно развивать ПО с открытым кодом.
Корпа является одним из стопоров развития опенсорса, сделала существенный вклад в вендорлок, костыли, ненужно, шипит. И ещё много где запустила свои щупальца.При этом, является образцом токсичности и ненадёжности, успешно, однако, эксплуатируя лживые тезисы. Не вижу, каким образом можно сравнить эти две организации.
> Не вижу, каким образом можно сравнить эти две организации.Извини? я не очень понял? кто хуже или лучше qt или красношапка -_-'
> стопоров развития опенсорса
Хм.. а что они тормозят?
Они пишут код, для своих пользователей, код открытый - это и есть open source.> много где запустила свои щупальца
Мог бы привести хотя бы пару примеров, чтобы я ничего себе не выдумывал.
> образцом токсичности и ненадёжности
Очень странно, я не сталкивался ни с токсичностью (это вообще что?), ни с ненадежностью.
> эксплуатируя лживые тезисы
Без примеров тоже не ясно(
Возможно ты сторонник идей киберкоммунитов типа Столмана, который хотел уравнять зп всех программистов, но лучше просто уточни что ты имеешь в виду.
О, а от вопрос лицензии мне интересен, там даже написано:> Исходные тексты компонентов Qt поставляются под лицензиями LGPLv3 и GPLv2.
Вопрос, то в каком случае я могу в коммерческом продукте использовать его бесплатно, а в каком должен платить?
Не путайте коммерческий продукт и закрытые исходный код.
Даже если вы делаете бесплатный продукт, доступный всем для использования бесплатно, но код проекта закрыт, вы обязаны купить лицензию.На сайте у них написано, как создавать закрытый код на Qt и не платить за лицензию:
1. Предоставляйте объектные файлы пользователям для свободной линковки их с другой сборкой Qt.
2. Если внесли изменения в библиотеку Qt, отдавайте ее пользователям под той же лицензией, что в используемой у вас Qt.
Придумки с задержкой LTS возникли не от хорошей жизни. Насколько я понимаю, с коммерческой стороной всё до сих пор плохо (убыток или на грани самоокупаемости). Есть мнение, что это от бестолкового менеджмента, который не может продумать нормальную политику лицензирования и платной поддержки.
> Обеспечена совместимость Qt for Python с устройствами на базе архитектуры AArch64
> Добавлена поддержка платформы Android 13Но Qt for Python в Android всё так же не умеет, досвидули
> Но Qt for Python в Android всё так же не умеет, досвидулиКакой еще питон? Qt вообще о плюсах.
Питонистам почему-то все должны делать питонистые оберточки ради их нескучного смузи-язычка с пробельчиками.
"Статью не читай, коментарий писай"> В набор модулей "Qt for Python", предоставляющий средства для создания графических приложений на языке Python с использованием Qt
Сколько слов питон ты здесь видишь)?
А сколько слов Android?
> Но Qt for Python в Android всё так же не умеет, досвидулиИ это замечательно. Не нужно будет покупать телефон с 16 ядрами и 64 Гб ОЗУ гонять такое поделие. Нам вебвью в каждом втором приложении уже достаточно.
Капец, не успел обновиться, как уже вышла новя версия...
> Qt Quick 3DЯ уж обрадовался запилили удобное простое 3D, а там опять мусорного кода в 10 раз больше полезного. Я понимаю это в низкоуровневых API, но тут-то зачем?
Кто что использует? Что порекомендуете для GUI?
Slint
Он на Rust. А на C++ что есть?
Qt есть
> Qt естьОно неоправданно жирное для GUI и тянет за собой тонны всяких не GUI зависимостей.
Slint платный.
> Slint платный.Во-первых, он доступен под свободной GPLv3, а во-вторых в 1.1 добавили вариант для закрытого ПО с бесплатной лицензией для desktop и web (но не для embedded/mobile).
Есть dioxus (https://github.com/DioxusLabs/dioxus) по действительно свободной MIT.
зачем он нужен
Для обработки данных
В браузере рисовать через canvas или webgl.
> В браузере рисовать через canvas или webgl.Элементы GUI рисовать? Нет уж. Спасибо!
>> В браузере рисовать через canvas или webgl.
> Элементы GUI рисовать? Нет уж. Спасибо!Я про графики. Элементы gui есть куча готовых на том же react.
> Компания Qt Company опубликовала релиз фреймворка Qt 6.6, в котором продолжена работа по стабилизацииК 7-й версии хотя бы уже стабилизируют?
Нет предела совершенству^Wстабилизации! Вперёд к новым высотам^Wверсиям, товарищи!
Главное не забывать - в России Qt официально недоступен. По мне так если авторы в одностороннем порядке блокируют загрузку своего "open source" продукта в какой-то стране, то это очень сильный минус.
Расскажи это Аноному с ъ.
Эти трудности вынудили меня научиться собирать Qt под винду самостоятельно и это в итоге стало большим плюсом. Теперь могу собирать Qt с нужными опциями, отключать ненужные, выбирать компилятор mingw или clang. Вон какое разнообразие: https://www.msys2.org/docs/environments/А под linux и так все доступно из реп без ограничений.
Исходники доступны на зеркалах без всяких vpn:
https://mirror.yandex.ru/mirrors/qt.io/official_releases/qt/
https://qt-mirror.dannhauer.de/archive/qt/
А для ленивых есть уже собранный Qt в msys2, жирноват конечно, т.к. собран со всеми зависимостями, но для разработки пойдет.
MSys Qt такая хорошая вещь, что работает только с GCC/CLANG/UCRT, но не с MSVS.
Не обманывайте.
Не доступна только техническая поддержка. Исходники доступны.
а ещё там не доступны правоохранительная система или избирательное право, но виноваты, почему-то QT.
С++ будет жить всегда хотя бы благодаря этому фреймворку
Кстати он еще и пример хорошего стиля программирования на C++.
Ведь могут же.
В этом проблема С++. В qt написали свое надмножество, со своей стандартной библиотекой, своей системой сборки, своим стилем и прочим. Создатели chrome сделали также. Да многие так делают. А для обычного погромиста есть не очень богатася стандартная библиотека и куча других нерешенных вопросов.
> ... не очень богатася стандартная библиотека и куча других нерешенных вопросов.boost в помощь: https://ru.wikipedia.org/wiki/Boost
> добавлен класс QWindowCaptureПростите, а с каких пор тулкит занимается такими вещами?? Разве это не задача WM или даже более глубоких слоёв системы?
>> добавлен класс QWindowCapture
> Простите, а с каких пор тулкит занимается такими вещами?? Разве это не задача WM или даже более глубоких слоёв системы?В том вся и беда :( Нет для Линукса нормального графического тулкита. Что Qt, что GTK - треш и ужас.
Выбор между сортами гогна
Верно. Да и вообще, для С++ нет нормального графического тулкита. Разные велосипеды разной степени удобоваримости.
А для какого другого языка есть графический тулкит уровня GTK или Qt?