LINUX.ORG.RU

Что менее монструозное в 2020 как библиотека: Qt или GTK для C++ разработки чисто под linux?

 


3

4

Есть старый C++ GUI сделанный в 2012. Собирался под win и linux. Поддерживать win надоело, сам её не юзаю, да и мастдай уже произошёл. Qt была выбрана по совету знакомых как супермегапростая штука. Хотя юзал из всего набора минимум - окна, кнопки и иконки.

Глядя на сегодняшний мир всяких убунт, мы видим что GTK как-то более распространён (или так только кажется)? Никакого Qt в базовых интерфейсах, никаких KDE и прочего говнища.

Гуй требует переработки, код написан слишком давно, выглядит лохмато, без современных стандартов и т.п. Всё равно много перекапывать.

Так чё, на GTK всё переписать, чтобы быть в тренде и меньше гимора в дальнейшем? К тому же, никогда не нравились всякие эти ненативные приблуды в Qt вроде MOC или как там его. Хочется что-то ламоповое без cmake, минималистичное, быстрое, современное и самое трендовое. Поддержики всякого JS-кода в интерфейсах, звука, воспроизведения видосов не требуется (есть вывод звука, но там на ALSA всё руками сделано по-пацански).



Последнее исправление: igloev (всего исправлений: 2)

FLTK / IUP / Tk

anonymous
()

Так чё, на GTK всё переписать

А подогреть людей на враппер UI->GTK/QT/Wx/SDL с различными способами конфигурирования этого враппера?

anonymous
()

Я бы ориентировался на GTK.

И на С++ там тяжеловато. Скорее, просто С. Да, биндинг к С++ есть, но местами проще не пучить глазоньки с gtkmm, а просто писать на С.

anonymous
()

минималистичное, быстрое, современное

Nuklear

giannigedeon
()

Глядя на сегодняшний мир всяких убунт, мы видим что GTK как-то более распространён

Да мало ли… вот у меня прям сейчас в убунте kchmviewer открыт, и какое мне дела до того, что там убунта использует?

Гуй требует переработки, код написан слишком давно, выглядит лохмато, без современных стандартов и т.п. Всё равно много перекапывать.

Это вообще не причина для переписывания на другую библииотеку. Qt развивается, и никуда не денется в ближайшие лет 10. А что такое GTK, и кто за ним стоит кроме дистроклепателей ляликса?

seiken ★★★★★
()
Последнее исправление: seiken (всего исправлений: 1)
Ответ на: комментарий от seiken

Qt развивается, и никуда не денется в ближайшие лет 10. А что такое GTK, и кто за ним стоит кроме дистроклепателей ляликса?

А что стоит за Qt кроме Qt company, которые всё ищут, как отжать ещё немного денег?

anonymous
()

Так чё, на GTK всё переписать, чтобы быть в тренде и меньше гимора в дальнейшем?

да

anonymous
()
Ответ на: комментарий от Harald

если зависимости всё равно предоставляется дистром, то какая разница

@Iron_Bug на тебя нет!

Zhbert ★★★★★
()
Ответ на: комментарий от seiken

В смысле "кто стоит"?

GTK, и кто за ним стоит кроме дистроклепателей ляликса?

Клиенты, пользующиеся этими самыми дистрибутивами. Внезапно, да?

вот у меня прям сейчас в убунте kchmviewer открыт

Кого волнуют проблемы гордого одмина локалхоста, который натянул вместо kubuntu убунточку с гномом и накидал поверх всякого говна? Даже неизбежные в таком случае жалобы на то, что «фсио тармазит» никого не волнуют. Хотя, казалось бы, для альтернативно одарённых есть сразу kubuntu. Ставь и пользуйся, не?

ляликса

К логопеду, быдло.

anonymous
()
Ответ на: комментарий от eao197

C++ там может и современный, но сам фреймворк из 90-х. Вы бы ещё Dear ImGui посоветовали.

Да и советовать GUI либу, в которой checkbox появился год назад, это финиш.

RazrFalcon ★★★★★
()
Ответ на: комментарий от RazrFalcon

Вы бы ещё Dear ImGui посоветовали.

Dear ImGui, afaik, предназначен для создания GUI другого типа, с высокими требованиями к отзывчивости.

Ну и не вам мне советовать что мне советовать.

eao197 ★★★★★
()
Ответ на: комментарий от eao197

это что за китайское, вирусное говно ты сюда притащил.

anonymous
()
Ответ на: В смысле "кто стоит"? от anonymous

Клиенты, пользующиеся этими самыми дистрибутивами. Внезапно, да?

Это какие такие клиенты? 1% десктопов что ли? А теперь посмотри, где Qt используется.

seiken ★★★★★
()
Ответ на: комментарий от eao197

с высокими требованиями к отзывчивости

Шта? Он предназначен для отладки игр.

Тем временем, Qt используют Mercedes, BMW и Tesla в своих приборных панелях и бортовых ПК.

RazrFalcon ★★★★★
()
Ответ на: комментарий от seiken

И где же оно используется?

А теперь посмотри, где Qt используется.

Ну? Удивите меня?

1% десктопов что ли?

Да, мухи редко ошибаются. Они просто не могут ошибаться, ага. =)))

Если эта апелляция к 1% десктопа сводится к тому, что Qt (как и GTK, кстати) можно использовать на оффтопике, то я тогда скажу что на оффтопике использовать что-то, отличное от нативного тамошнего GUI будет только хронический идиот. Ну либо проект настолько… «специфичный», что просто атас.

Это какие такие клиенты?

Т.е., по Вашему мнению, у canonical, red hat, ibm и у остальной молочи пузатой… Нет клиентов? Серьёзно? =)))

Видимо, они не настолько туры чтобы делать ставку на мёртвую технологию. Впрочем, помнится, каноникл как-то попыталась свою unity перенести на Qt. Результат напомнить или сами знаете? Ненадо делать очевидных глупостей.

anonymous
()
Ответ на: комментарий от RazrFalcon

Шта? Он предназначен для отладки игр.

Именно для этого он и обеспечивает высокую отзывчивость.

Qt используют Mercedes, BMW и Tesla в своих приборных панелях и бортовых ПК.

И?

Нет, понятно, что у вас Qt головного мозга в терминальной стадии и только Rust-ом вы в состоянии нормально пользоваться, но все-таки есть большой мир за пределами того, с чем вы знакомы.

eao197 ★★★★★
()
Ответ на: комментарий от RazrFalcon

Шта? Он предназначен для отладки игр.

facepalm.rs

Ты в очередной подтвердил свой статус форумного эксперта:

https://user-images.githubusercontent.com/3907907/81094458-d20d9200-8f03-11ea-81e0-e72c0063b3a7.png

https://bytebucket.org/wolfpld/tracy/raw/619523b43e581dc404829106adbcb18bd315ff19/doc/profiler.png

Тем временем, Qt используют Mercedes, BMW и Tesla

Отвечу в твоем же стиле - тем временем, ImGui используют Microsoft, Nvidia и Valve.

anonymous
()
Ответ на: комментарий от eao197

с высокими требованиями к отзывчивости

А разве это не общее требование ко всем библиотекам? Это же не веб, когда люди готовы ждать секунды, когда страничка обновится.

Lzzz
()

Советую не заморачиваться и взять GTK. Правда, тут уже больше чистый С, но биндинг к С++ тоже есть.

Во-первых, он полностью свободен, я бы даже сказал, «столлманоугоден» (ибо Столлман принимал участие в его создании). Нету и не будет «копрорации», которая может сделать «бесплатный релиз через 1 год после копроративных клиентов» (хоть Qt и удалось этого избежать).

Во-вторых, он банально проще в плане «взял и написал по туториалам». Здесь можно поспорить, но я говорю из собственного опыта, ибо «хеллоуворлд» на Qt у меня так и не получился, а вот на GTK — уже через 5 минут был готов.

Ну и главное: GTK гарантированно работает под любой DE, в отличие от Qt. Несогласные пусть приведут пример, кроме KDE, где «куть» работает «из коробки», без нужды доустанавливать всякое разное и прописывать переменные.

Korchevatel ★★★★★
()
Ответ на: комментарий от RazrFalcon

Хммм... Какие они глупые.

Тем временем, Qt используют Mercedes, BMW и Tesla в своих приборных панелях и бортовых ПК.

Фреймворк для GUI запихивать в CarPC. И что там будет с… Впрочем, ладно.

Скажите, зачем по Вашему мнению этот глупый гугль запустил свои Android Auto? Не потому ли что очередные миллионы мух начали клепать всякие CarPC на базе ведра?

/* Про то, что Qt можно и в ведре лучше бы Вам мне не рассказывать. Я знаю как там это «можно» и во что это выливается. */

anonymous
()
Ответ на: комментарий от anonymous

Батенька!

Ты в очередной подтвердил свой статус форумного эксперта:

Ну что ж Вы его так… Сразу с козырей, да по яйцам? Право, как-то даже и неловко… =)))

anonymous
()
Ответ на: комментарий от Korchevatel

Нету и не будет «копрорации»

GTK пилит красношапка, ака IBM.

Во-вторых, он банально проще в плане «взял и написал по туториалам».

4.2

Ну и главное: GTK гарантированно работает под любой DE, в отличие от Qt.

А Qt не работает? Qt даже в таких DE как Windows и macOS работает, в отличии от.

RazrFalcon ★★★★★
()
Ответ на: И где же оно используется? от anonymous

о я тогда скажу что на оффтопике использовать что-то, отличное от нативного тамошнего GUI будет только хронический идиот.

Понятно, гимп для идиотов.

anonymous
()
Ответ на: И где же оно используется? от anonymous

Да, мухи редко ошибаются. Они просто не могут ошибаться, ага. =)))

так ты определись, мухи это пользователи дистров редхата и каноникла? Ну им все равно, что там Qt или GTK. Примерно как пользователям венды пофиг что у них там MFC или .NET.

что Qt (как и GTK, кстати) можно использовать на оффтопике

тебе тут уже написали, где «можно» Qt использовать

seiken ★★★★★
()
Ответ на: комментарий от RazrFalcon

Большинство OpenSource, который пилится не большими корпорациями, это сырые noname проекты. Которые, тем не менее, вполне себе используются.

Ваш К.О.

eao197 ★★★★★
()
Ответ на: комментарий от RazrFalcon

Злостное 4.2.

Вообще-то, после строк:

Qt даже в таких DE как Windows и macOS работает, в отличии от.

Язабан.

GTK ставится и работает под тот же оффтоп. И писать там тоже можно. GTK ставится и работает под макось. И, что самое приятное, работают так же и биндинги к языкам типа питона.

GTK пилит красношапка, ака IBM.

Язабан так же и потому, что этот пациент даже не понимает что GTK не закрыт в части имущественных на него прав корпоративными ограничениями. В отличие от Qt.

Вообще, кто-нибудь, объясните мне с каких это пор на ЛОРе перестали банить явных долб… (ну, все поняли)?

anonymous
()
Ответ на: комментарий от eao197

О чём и речь. У ТС выбор между двумя либами, которые пилятся коммерческими компаниями, а вы предлагаете ему васянскую либу.

RazrFalcon ★★★★★
()
Ответ на: комментарий от RazrFalcon

GTK пилит красношапка, ака IBM

И шансов пролюбить всё у них, в отличие от Qt Company, куда меньше, ибо LGPL, а не «каштомная» лицензия.

А Qt не работает? Qt даже в таких DE как Windows и macOS работает, в отличии от.

Брэхня. GTK работает везде, даже под «оффтопиком» и «яблэ». Тем более, что последние приплетать не стоило — у ТС же «мастдай» случился!

Korchevatel ★★★★★
()
Ответ на: Злостное 4.2. от anonymous

GTK ставится и работает под тот же оффтоп. И писать там тоже можно. GTK ставится и работает под макось. И, что самое приятное, работают так же и биндинги к языкам типа питона.

Это преимущество только для тех, кто уже знает GTK и ничего другого.

seiken ★★★★★
()
Ответ на: комментарий от anonymous

Понятно, гимп для идиотов.

В виндах? Да. Для идиотов. Просто потому, что в виндах существует «масса нужных и великолепных графических редакторов». Фотошоп, так это давно уже имя нариуательное. За которые одна незадача – нужно платить.

А так всё просто – выбрал себе винды, молодец. Плати за каждый чих, зачем бесплатное нужно? Вы же «настоящий мужик-профессионал» и в состоянии заработать себе на инструментальные средства.

Работаешь с Linux – тоже понятен выбор. А вот эта вот «чуточку беременность»… Непонятна. Слегка так недопоц.

anonymous
()
Ответ на: комментарий от RazrFalcon

По-моему, ТС зря выбирает только между Qt и GTK. И то, и другое слишком древнее и монстроузное. А GTK еще и говно, но это мое личное мнение, никому не навязываю.

А если ТС хочет еще и современного C++, то тут ни Qt, ни уж GTK и близко не лежат.

Так что вы можете воинствовать в своей зашоренности, но не нужно советовать что советовать другим людям.

eao197 ★★★★★
()
Ответ на: комментарий от Korchevatel

ибо LGPL

А у Qt не LGPL?

GTK работает везде

Запускается - не значит работает. Хоткеи на винде уже починили? Динамический DPI уже работает на винде?

RazrFalcon ★★★★★
()
Ответ на: комментарий от seiken

Странно...

Это преимущество только для тех, кто уже знает GTK и ничего другого.

Вроде, интернет ещё не запретили? И гугль пока не банит никого за неуплату? Что мешает взять и поинтересоваться, а не писать ахинею?

Ну почему же «не знает»? QML, например, улыбает от души. Я не знаю что такого надо сделать с GTK, чтобы такая «пурга» с javascript началась.

Даже применение javascript в GNOME 3 для расширений рабочего стола не вызывает такого «удивления» как QML.

anonymous
()
Ответ на: комментарий от eao197

То, что Qt - legacy, я даже не спорю. Но он слишком жирный, чтобы быстро его переписать на современные плюсы. Да и совместимость ломать они не собираются в ближайшее время. А значит конструкторы по умолчанию и прочий легаси никуда не денется.

А если ТС хочет еще и современного C++

Чем ему поможет современный C++ в деле клепания формочек?

RazrFalcon ★★★★★
()
Последнее исправление: RazrFalcon (всего исправлений: 1)
Ответ на: комментарий от RazrFalcon

А у Qt не LGPL?

Да, но только бесплатная версия. На выбор ещё GPL v2 и v3. Но проблема в том, что владельцем является сама компания, а не куча народу, так что если сменят лицензию, никто и крякнуть не успеет. Плюс, коммерческая явно у компании в приоритете.

Korchevatel ★★★★★
()
Ответ на: комментарий от Korchevatel

если сменят лицензию

Они не могут это сделать. А если и смогут, то тогда никто не мешает красношляпе сделать тоже самое.

RazrFalcon ★★★★★
()
Ответ на: комментарий от RazrFalcon

А если и смогут, то тогда никто не мешает красношляпе сделать тоже самое

Чтобы был тулкит для знаменитого красношляпого десктопного дистра? :)

PolarFox ★★★★★
()

Про hdpi и wayland забывать не стоит, так что кроме этих Elementary/EFL?

boowai ★★★★
()
Ответ на: комментарий от RazrFalcon

Они не могут это сделать

Почему это, если Qt, тем более первичный, коммерческий вариант — их собственность? Тем более, что они могут просто-напросто выбросить бесплатную «кутю» и разрабатывать только «пропиетарщину».

А если и смогут, то тогда никто не мешает красношляпе сделать тоже самое.

«Хапка» не сможет, ибо GTK им не принадлежит, это раз, и коммерческой версии никогда не имел, это два.

Korchevatel ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.