LINUX.ORG.RU

Qt vs GTK в 2019 для написания простых интерфейсов.

 


2

1

Верно ли, что GTK(2,3,+) похоронить так и не смогли, он вполне себе живой в той же убунте в виде GTK3 (или GTK+ - не шарю) и он будет полегче в плане веса самой библиотеки, чем QT5? То есть, если мы пишем тулзу с GUI, то более экологически чисто, но возможно с большим гемороем, будет реализация её на GTK, при всех элитных удобных свистелках-перделках в QT5?

До этого много писал под Qt кросс-платформ штуки, никогда не писал под GTK ничего.

Qt5: что-то монструозное, 100500 гигов библиотек для простого интерфейса, какой-то гимор с лицензиями, статическими линкованиями.

GTK(2,3,+): что-то, что я не пробовал, но выглядит как что-то более скромное.

Голимые иксы: в принципе тоже норм, можно попробовать )

Почитал quora:
https://www.quora.com/Which-is-better-for-cross-platform-application-developm...

Be smart. Use Qt or WxWidgets when it matters. Use native APIs when it doesn’t. Leave GTK to the GIMP developers; it’s their baby and they’re the only ones who seem to know how to use it correctly.



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

Ответ на: комментарий от annulen

в GTK3 постоянно что-то ломают

Gtk3 норм, не особо много ломают, да и для Gtk4 тоже не особо много нужно менять.

Вот посмотрите какой короткий гайд для миграции: https://developer.gnome.org/gtk4/3.94/gtk-migrating-3-to-4.html

К слову в Qt5, тоже мало что сломали, и тоже был гайд перевода с Qt4 на Qt5, так что в этом плане оба тулкита одинаково хороши.

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

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

:)))

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

Ты наркоман? у них форматы тем несовместимые полностью, вплоть до синтаксиса. И в движки тем GTK+3 давно не может, что сводит возможности его кастомизации к полутора заложенными гномосеками возможностям.

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

Ну ты сравнил второгном с двумя щелями. У них из общего только название и тулкит.

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

то что они ответвились от гнома

означает, что гном в какой-то момент свернул не туда, и все это поняли, кроме собсно разрабов гнома

вообще, твоя логика - чистой воды джерримендеринг. «большинство крупных окружений». главное - правильно задать планку «крупности», и можно направить такой аргумент хоть в пользу gtk, хоть в пользу qt

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

это только для разработки.

Это не так мало. Время, потраченное на настройку окружения, программист мог направить на свою программу. Или у нас уже все нужные программы написаны?

да что ж в ней такого чудесного, что аж нет аналогов

Для начала, оно представляет программный интерфейс к разным СУБД, как локальным, так и серверным. Поддержка СУБД сводится к написанию и подключению её драйвера. Тут можно провести аналогию с популярным некогда odbc, но QtSql не засирает системный уровень, работает именно как библиотека, при этом живой и кроссплатформенный. У меня был проект, который умел работать как в локальном исполнении (sqlite), так и в клиент-серверном (PostgreSQL).

Далее, есть набор классов для связки QtSql и GUI. С кутешными таблицами и деревьями можно связать модель QSqlQueryModel - и опа, просмотр готов. QSqlTableModel — редактируемая модель для какого-нибудь классификатора.

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

гном в какой-то момент свернул не туда...

туда или не туда, это довольно субъективно.

главное - правильно задать планку «крупности»

а если считать не по пальцам, а интегрировать по количеству пользователей?

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

ну это всё конечно впечатляет. грустно что подобного инструмента в Gobject-инфраструктуре нет.

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

а если считать не по пальцам, а интегрировать по количеству пользователей?

показывай данные. но сразу говорю, если у qt будет не меньше 10%, то это чистая вкусовщина

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

вообще, было бы интересно заглянуть в параллельный мир, где qt - это надстройка над gtk, с С++, qtsql, qml и так далее, которая для рендеринга gui обращается к gtk

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

надстройка над gtk, с <..> qml
которая для рендеринга gui обращается к gtk

Казалось бы, зачем для QML нужен GTK+… максимум – GDK и Cairo.

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

ну чтобы не ковырять си.

Так нужно было как раз ковырять си.

на том, на чём считаешь нужным

я считаю нужным на си
но вот у тебя другое мнение и хочется его услышать

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

вопрос о смерти gtk

а он где то стоит? gtk2 умерло, gtk3 процветает, gtk4 разрабатывается

eternal_sorrow ★★★★★
()

есть еще старый добрый FLTK, легкий и кроссплатформ

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

Хм, отказаться от культей, чтобы в итоге сесть на питон...

Нет, если я что-то и буду писать на GTK+, это будет на Си.

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

Нет, если я что-то и буду писать на GTK+, это будет на Си.

Намного приятнее получается на C++ с помощью gtkmm. Тогда reference counting который встроен в Gtk+ будет оформлен в виде smart pointers с которыми тяжелее накосячить. Плюс сигналы будут обрабатываться удобнее через libsigc++

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

Всё ещё не понимаю, в чём проблема с питоном? Кроме того, я никого не призываю, есть куча альтернатив, в том числе и так любимый разработчиками Qt C++. Кстати, приёмы разработки на GTKmm гораздо лучше соответствует идеоматическому C++ чем код на Qt.

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

«GTK ужасен» — это не какая-то объективная оценка тулкита, это клич местных клоунов-фанатиков ничего не сведующих в предмете.

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

Всё ещё не понимаю, в чём проблема с питоном?

В разработчиках питона. Питон стал осьминогом.

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

Сколько бы у тебя не было оперативы GNOME3 съест всё что осталось после запуска браузера.

Вот оно чё Михалыч... Вижу, что ты канпютерный гуру, пара вопросов:

  • Когда запускаешь торентокачалку, то Gnome выжирает все дисковое пространство?
  • А если запустить рендеринг и канпеляцию, то Gnome пожирает процессор?
anonymous
()
Ответ на: комментарий от imul

так ничего и не понял. ты хотел попробовать раст, но поскольку не знаешь его, начал разработку на C?

ну если нужна нативщина, то раст хороший вариант. и да, gtk для него тоже есть. просто большинству прикладного софта нативщина не нужна

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

... аналогов в G*-стеке вообще нет, работа с БД, например.

Этот бред (или проповедь) расчитан на тех, кто незнаком с «G*-стеком»?

anonymous
()

Qt vs GTK в 2019 для написания простых интерфейсов

для простых лучше ncurses

Qt

только если ты пишешь на с++ или питоне, иначе бери гтк

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

Не получится. C++ практически ничего не стоит кроме фиксированой цены стандартной библиотеки. И смартпоинтеры и библиотека сигналов будут взаимодействовать с кодом пользователя, который не должен делать миллионы операций в секунду с UI. Например смартпоинтеры будут скорее всего вытираться компилятором в делегирование таких вызовов к счётчикам ссылок gtk, которые и так бы пришлось использовать. Так что цена, если есть, несоизмерима с ограниченностью нагрузки взаимодействовия с тулкитом

vertexua ★★★★★
()
Последнее исправление: vertexua (всего исправлений: 2)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.