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)
Ответ на: комментарий от RazrFalcon

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

Современный C++ гораздо лучше справляется со всем, нежели C++98/03. В том числе и с клепанием формочек.

Ваш К.О.

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

и коммерческой версии никогда не имел

И им кто-то мешает это сделать? Сама красношляпа коммерческая, и ничего.

ибо GTK им не принадлежит

А Qt принадлежал Qt Company? Сколько у них там уже владельцев было? Штук 5?

Всё покупается и продаётся. GTK не исключение.

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

Но в Qt - С++14. А в Qt6 будет 17. Ваш КО.

Современный C++ гораздо лучше справляется со всем

Кроме написания рабочего софта =)

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

Всё равно?

Батенька, да Вы нониче как-то по особому фееричны.

То у Вас kde-поделие в системе, по дефолту использующей GTK/GNOME, то Вы утверждаете что:

пользователи дистров редхата и каноникла? Ну им все равно, что там Qt или GTK.

Вообще-то, нет. Они (пользователи дистров) используют то, что есть в их репозитории. И не более того. И как правило достаточно грамотны (1% десктопа не зря) чтобы понимать что именно они делают.

Т.е., если человек не осиливает ни gnochm, ни chmsee, то он будет использовать kchmviewer, затаскивал себе в систему тучу непонятного кода. Тут было бы логичнее использовать kubuntu, но тут явно человек не осиливает пакеты, а я ему систему менять предлагаю. Обычно этого не нужно, но тут случай особый.

Примерно как пользователям венды пофиг что у них там MFC или .NET.

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

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

Оггада… Господи, да какой только херни в этих ваших инторнетах не понапишут. И здесь не исключение. Тут ещё на источник и его достоверность смотреть надо. Флакон вот не достоверен ни разу.

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

И опять злостное 4.2.

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

Кто не сможет это (сменить лицензию)? Qt? Да Qt и так под двойной лицензией. И опенсоурсной и коммерческой. И ни что не мешает закрыть опенсоурсную часть разработки, сказав что все наработки оттуда идут в коммерческую версию. Т.е., провернув банальный грабёж.

Чего никогда не было и нет с GTK. Опенсурс и ни каких множественных толкований. Точка.

Нет. Всё же… Я за бан этого клоуна.

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

Но в Qt - С++14

Вы хотите сказать, что у Qt 5.12 LTS минимальные требования C++14?

Или вы про то, что Qt можно использовать в C++14?

Кроме написания рабочего софта =)

Не нужно свои личные неудачи распространять на всех.

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

От слов к делу?

Всё покупается и продаётся. GTK не исключение.

Ну так чё… Вперёд? Купите и закройте GTK? Или поменяйте лицензию, сделав её двойной как в QT?

Когда ждать результата? =)))

anonymous
()

Если UI под c++ без изысков - возьми wx и не парься - при желании сможешь с чем угодно сделать.

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

Почему это, если Qt, тем более первичный, коммерческий вариант — их собственность?

существующею на данный момент под gpl и lpgl qt 5.14.2 они закрыть не смогут

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

Вы хотите сказать, что у Qt 5.12 LTS минимальные требования C++14?

Точные ограничения найти сходу не могу. Но C++11 точно обязателен. Как минимум они требуют GCC >= 5 и MSVC >= 2015

Вот такое ещё нашёл: https://github.com/qt/qtbase/blob/32cb48e26cd079da591d55d92f849133c48683a3/cmake/QtBuild.cmake#L4960

Не нужно свои личные неудачи распространять на всех.

Но падает C/C++ софт, который писал не я. Парадокс.

RazrFalcon ★★★★★
()
Ответ на: Всё равно? от anonymous

Оггада… Господи, да какой только херни в этих ваших инторнетах не понапишут. И здесь не исключение. Тут ещё на источник и его достоверность смотреть надо. Флакон вот не достоверен ни разу.

все с тобой ясно :)

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

А что не так? =)))

Я же за язык ни кого не тянул про 1% десктопа поминать? =)))

Но почему-то не понравилось, когда в ответ на упоминание CarPC от меринов-бумеррв и Теслы, я сказал что они как-то не составляют основную массу CarPC. Основная масса это вон, нонейм от дядюшки Ляо с Android Auto на борту.

Да оно и быстрее и дешевле получится взять «голову» для машины на андроид типа на каком-нибудь allwinner и прикрутить туда нужный софт.

Понимаете, в циферки можно и вдвоём играть. И успешно. =)))

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

Точные ограничения найти сходу не могу.

Но заявить про С++14 в Qt можете. Вы в своем репертуаре: за слова не отвечаете.

Но падает C/C++ софт, который писал не я. Парадокс.

Представляете, софт на Java, который писали не вы, тоже падает.

Никакого парадокса. Софт вообще падает. И программ без ошибок не бывает.

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

Но заявить про С++14 в Qt можете.

Ну так Qt и использует C++14. Где противоречие.

Представляете, софт на Java, который писали не вы, тоже падает.

man вероятность

Ваг КО.

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

Ну так Qt и использует C++14.

Где Qt 5.12 использует C++14 можете показать?

man вероятность

Если вы так неловко пытаетесь съехать с темы, в которой вас макнули в дерьмо, то хотя бы объяснили вероятность чего нужно учитывать. Если вероятность того, что вы «малолетний дебил», то это почти единица.

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

Я тут искал программу для ведения заметок, аналог Evernote. Замен полно, но они на Электроне. А электрон, как все четкие пацаны знают, это гомосятина и зашквар зашквар зашквар. Ну короче я отыскал прогу на QT. Сука, оно жрать ещё больше.

anonymous
()

Никакого Qt в базовых интерфейсах, никаких KDE и прочего говнища.

не понял к чему это

емнип qt юзает родной стиль/отрисовку оси

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

зависит от приложения

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

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

как по мне, если нужно быстро влиться во что-то годное, тут только vim + org-mode (ключевое фраза: быстро влиться) (сам не пользовался, но не сомневаюсь, что там все норм сделано). а если нужен весь боекомплект (вроде картинок и всех фич), то emacs + org-mode.

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

Ну типа если версия C++ позволяет, то есть и такая перегрузка.

Это несколько отличается от того, чтобы Qt был завязан на C++14, как это планируется в Qt6 с C++17.

Упомянутый мной Nana как раз планируют перевести на C++17 в следующем большом релизе.

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

И где ты в этой новости увидел «завтра закрываемся»?

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

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

И даже там, где нет X-servera?

Да, на Wayland GTK тоже работает.

А вот на макоси он выглядит так, что лучше бы не работал вовсе.

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

на Wayland GTK тоже работает.

А без вейлонда? Например с EGLFS?

Мне тоже просто интересно, а чем заменить Qt для таких вот юз-кейсов? Например, для Embedded платформ, где нужны всякие «свистоперделки».

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

Язык разметки текстовых документов, не UI. Как тут уже было - неименованный список как прототип tree контрола. Я так понимаю, абзац у нас будет группой контролов, а наклонное начертание - алертом.

Если что, я отдаю должное реализации того же canvas - офигенные штуки на нём можно делать! Но это обычный canvas, всё, что вокруг него в DOM - как UI чудовищная реализация, нагромождение костылей.

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

По факту, GTK работает только на линуксовом десктопе.

Эксперт в UI, вот тебе пара скриншотов GTK3 программ на Windows 10: https://imgur.com/a/at4pMD1

Что в них не так, что ты говоришь, что GTK3 не работает на Windows?

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

Отрисовка не тормозит.

Правда что ли? Ой, а HexChat наверное не на GTK тогда.

Размер меньше, чем размер QML программ.

Насколько меньше?

gaiponie
()

Более монструозное в плане сборки GTK. Под винду вообще не собрать из-за миллиона кривых зависимостей. Для сброки Qt достаточно python и perl для выполнения скриптов.

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

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

Как так можно, а? :) Это же надо уметь.

former_anonymous ★★★
()

10 лет назад это ещё можно было обсуждать. Были горячие классные споры с geek и пр. А теперь - Qt, если хочешь написать быстро и удобно. Иначе - все минималистичные тулкиты что тут насоветовали, но скорее всего это будет бажно и многословно.

Что тут говорить, если разрабы той утилиты для ведения дайв-логов что Линус начинал, перешли на Qt. Именно из-за убогости GTK и невменяемости его сообщества.

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

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

Благородный дон предлагает libyui ?

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

Это же надо уметь.

Умеем, можем, практикуем. :)

Korchevatel ★★★★★
()

Обе либы отстой. Лучше пиши на электроне.

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

Насколько меньше?

windeployqt создаёт QML бандл размером 54 мегабайта.

gtk-3 со всем зависимостями весит 19 мегабайт + 31 мегабайт тема Adwaita.

В GTK можно вообще не использовать тему Adwaita, так как есть встроенная тема Windows, так что можно ограничиться 19 мегабайтами, но любители эконимить место удаляют часть dll из бандла windeployqt и говорят что у всё работает…

fsb4000 ★★★★★
()

Qt или GTK

Опять, ну сколько же можно? Что легче, ниссан или кузов от тойоты?

GTK — это аналог модулей QtGui и QtWidgets. Всё. Если вы ищете аналог Qt, вам ещё нужно GObject, GDK, ещё что-то в зависимости от программы. Ну и систему сборки до кучи.

чтобы быть в тренде

бери электрон. :))) А если тебе программы писать — пиши на том, чем владеешь. Серьёзно, основная мысль ОП похожа на «я знаю Qt, но посоны считают, что это не круто».

без cmake

У Qt есть ламповый qmake. :)

P.S. Я не G*-фоб, если что. Если вам нравится GTK со всей сопутствующей обоймой, и вы умеете её готовить под все целевые платформы — то и замечательно, продолжайте ей пользоваться. Я вот не умею, и судя по рассказам, не я один.

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

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

Клиент OneDrive использует Qt.

anonymous
()

wxWidgets неплох, написан на С++, в отличие от Qt/gtkmm может использовать std:: лицензия у него нормальная, сам он не тормозной и сделан более менее нормально. CMake поддерживает, можешь прям из vcpkg ставить кста.

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

С QBS не перепутал?

Ожидалось, что Qbs заменит qmake в Qt 6, но планы изменились, и теперь основные усилия будут направлены на обеспечение поддержки сборочных систем qmake и CMake, с переходом на CMake в качестве основной сборочной системы для Qt в долгосрочной перспективе.

Вот придёт долгосрочная перспектива — можно будет говорить про deprecated.

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