LINUX.ORG.RU

Qt vs GTK

 ,


0

4

При всех равных прочих параметрах, я бы выбрал...

  1. Qt 670 (59%)

    ********************************************************************************************************************************************************************************************************************************************************************************************************************************

  2. GTK3 218 (19%)

    ********************************************************************************************************

  3. GTK2 155 (14%)

    **************************************************************************

  4. Что-то менее экзотическое 31 (3%)

    **************

  5. wxWidgets 20 (2%)

    *********

  6. Что-то более экзотическое 18 (2%)

    ********

  7. FLTK 17 (1%)

    ********

  8. X Toolkit Intrinsics (Athena/Motif) 15 (1%)

    *******

  9. FOX toolkit 0 (0%)

Всего голосов: 1144

★★

Проверено: beastie ()
Последнее исправление: JB (всего исправлений: 1)

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

Хрен его знает, никогда в жизни не слышал о Xfc, даже в срачах Qt vs Gtk. Возможно это и есть ответ чем Gtkmm - официальный С++ Gtk binding лучше чем Xfc

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

Кстати, почитал там про поддержку VCS. Почему только гит собираются добавить? Базар был бы в данном случае кошернее.

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

Почему только гит собираются добавить? Базар был бы в данном случае кошернее.

Потому что все используют git, очевидно же. Базар можно оставить студентам на допилку.

Меня больше удивила фича с поддержкой hardcoded багзиллы, хотя клянусь мамой все будут пользоваться Github или Bitbucket

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

Омг, посмотрел сайт

Download the source code for the latest XFC development release:
xfc-4.6.0.tar.bz2  released Apr 10th, 2012

Я вас умоляю

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

для работы с сетевыми протоколами?

glib-networking

С XML?

libxml

С базами данных

вот тут проблемка. впрочем я хз, может и есть что то, просто я не в курсе. известные мне приложения юзают sqlite напрямую

система сборки

не нужно, каждый использует то, что ему нравится, а не то что ему навязывает язык програмирования (да, я считаю, Qt - отдельный язык програмирования, производный от C++).

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

Про libxml знаю, вот про glib-networking информация интересная, может, и пригодится когда-нибудь.

известные мне приложения юзают sqlite напрямую

Тоже вариант. Правда, если потребуется масштабируемое ПО, которое умеет работать и с sqlite и ещё с чем-то помощнее - будут траблы. Я соглашусь, что это не каждодневная задача. Но такое, например, реализовано в OpenSim, написанном вообще на моно/сишарпе (кстати, раз речь зашла о тулкитах, OpenSim - любопытный пример проекта, причём серверного, изначально написанного на моно, а не криво портированного с дотнета).

hobbit ★★★★★
()

Почему в опросе GTK разбита на версии, а QT выступает одним фронтом? Где справедливость? Надо сделать три враианта: QT-3, QT-4, QT-5.

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

Да, я в курсе. И всё равно, толстые клиенты куда удобнее...

hobbit ★★★★★
()
Ответ на: t от golodranez

Я не про скорость. В либу помимо классов необходимых для работы GUI-тулкита засунули абсолютно ненужные компоненты, не имеющие никакого отношения к GUI(для работы с сетью, базами данных и т.п.).

lucentcode ★★★★★
()

я бы выбрал...

Как кто? как программист? как пользователь при выборе программ в привычный дистрибутив? как пользователь при выборе нового дистрибутива?

Не голосовал, так как вопрос глуп без уточнения (точнее, это просто абсолютно параллельные друг другу вопросы).

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

абсолютно ненужные компоненты

Ты забыл написать «лично мне». GUI - это только одна из задач Qt.

Qt имеет модульную структуру, и если ты пишешь какой-то хеллоуворлд, которому кроме GUI ничего не нужно, ты можешь просто не включать остальные модули в проект.

Точно так же, для какого-нибудь сервера можно включить в проект только QtNetwork и QtSql, а QtGui ему не нужен. Хотя я бы сервера на Qt писать, пожалуй, не стал, но в нашей реальности их теперь пишут даже на Mono, о чём я уже упоминал.

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

никогда в жизни не слышал

В этом вся и суть. Кто на нём будет писать, если о нём даже не слышал никто? Реклама нужна. Я сам случайно наткнулся, когда доку по какому-то методу GTK искал.

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

Зачем ему реклама если у него последний релиз в 2012том году и есть Gtkmm? Чтобы не использовать Gtkmm из иррациональной ненависти? ))

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

Qt3 сейчас вообще нигде не используется

Я давеча искал редакторы для флешика, все давным-давно подохли, ни один не взлетел. Один, в частности, юзает Qt3. Как мне его завести-то?

//На винде-то спокойно софт двадцатилетней давности запускается.

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

Чтобы не использовать Gtkmm из иррациональной ненависти?

Да хотя бы и так, ибо монополизация — зло. Алсо, он в православный GTK2 умеет ещё?

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

редакторы для флешика

Имеется в виду Adobe Flash?

Один, в частности, юзает Qt3.

Исходники редактора есть, и если есть, то можно ссылку? Интересно глянуть.

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

Шарик, ты балбес

$ apt-cache dump | grep Package | grep -i qt3 | wc -l
37

Это ещё не говоря о том, что это всё из squeeze (oldstable).

aidan ★★★★
()
Последнее исправление: aidan (всего исправлений: 1)

Какие результаты.

AX ★★★★★
()

Для графики только Qt5, больше никаких ui, glade, xml и прочей ерунды. Если бы не QtQuick, то выбрал бы gtkmm, как более правильный C++. Если GUI не требуется, то и нет смысла использовать Qt5. Использую STL вместо Qt аналогов, все равно в силу развития C++ надобность в аналогах постепенно отпадает. Например, разработчики Qt предлагают использовать std::unique_ptr вместо QScopedPointer. А QThread нужен лишь в случае обработка сигналов. Если они не задействованы, то можно использовать хоть std::thread.

Не вижу смысла говорить о тяжеловесности, пока не будут приведены критерии тяжеловесности или хотя бы конкретные проблемы. Это все равно, что сортировать 5 чисел пузырьком и говорить о низкой эффективности.

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

Имеется в виду Adobe Flash?

Ога. Впрочем, основная цель — векторные говномультики рисовать, может, есть чего и не умеющее во флэш, но под это заточенное. 3D не хочу.

можно ссылку?

QFlash

MiniRoboDancer ★☆
()

Надо ли пояснять, что Qt рулит? Или есть извращенцы? Просто Qt тупо лучший фреймворк для многих (да, но не всех) типов программ на сегодняшний день!

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от MiniRoboDancer

//На винде-то спокойно софт двадцатилетней давности запускается.

на Линуксах тоже софт 20-летней-давности запускается :-) ..

..и да, наверное ты заметил что, слово «любой» я специально не написал :-) [и ведь это слово — ты тоже не написал.. и я понимаю почему :)]

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

QFlash

Лови порт на Qt4. Порт сделан за 2 часа на коленке и имеет следующие ограничения:

1) Главная проблема QFlash - отнюдь не Qt3. Проект завязан на библиотеку ming, которая, собственно, и пишет swf. Судя по ming.h, библиотека LGPLная, но авторы QFlash почему-то включили в свои исходники скомпилированный libming.a. Соответственно, программа сейчас собирается только под 32-разрядное x86. Проблема решаема, но для решения надо найти нормальный пакет с ming или опакетить самому (и ещё надо выяснить, работает ли ming в x86-64);

2) При переносе использовалась утилита qt3to4, соответственно, порт содержит зависимости от модуля Qt3Support. Их можно вычистить (по работе я чистил), но это уже не на 2 часа и даже не на 2 дня. В общем, сейчас оно под Qt4 собирается, под Qt5 уже не будет;

3) Программа, скорее всего, не будет собираться под виндой, поскольку кроме Qt, в ней используются юниксовые функции access, sleep и, возможно, другие. Впрочем, возможно, под виндой она и не нужна...

Ну и ещё кое-где я схалтурил по мелочи, из-за чего в созаваемом контексте возможно искажение цветов (надо разбираться с классом QBrush) и пропадание шортката для одного из пунктов меню. Эти вещи я в исходниках пометил как TODO.

Все перечисленные проблемы решаемы. Но для этого сначала требуется оценить, полезна ли она в её текущем виде вообще. Потому, что если проект был заброшен в стадии глубоко неработоспособной альфы, возиться с дальнейшим портированием, очевидно, смысла нет. Оценку полезности можешь провести сам. Напоминаю: для сборки нужен 32-разрядный Linux (пусть даже в виртуалке) с Qt 4.x.

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

Кстати, насчёт всяких там отличных от GUI компонентов Qt. Я однажды решил замутить форк одной программы на Qt, с гуём на GTK, блекджеком и шлюхами. Но как увидел, что в этой проге вся сетевая часть написана на Qt, всякое желание заниматься этим отпало. Вот так, получается кьютэ мешает портированию с него на другие тулкиты.

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

на Линуксах тоже софт 20-летней-давности запускается

Пруф. Причём нативщину, а не скриптуху какую-нибудь типа Tcl/Tk.

и я понимаю почему

Забыл. Но не 100%, да :3

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

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

Довод уровня: «Я однажды решил замутить форк одной программы на GTK, с гуём на Qt, блекджеком и шлюхами. Но как увидел, что в этой проге GTK-лапша, всякое желание заниматься этим отпало. Вот так, получается GTK мешает портированию с него на другие тулкиты.»

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

Вау, спасибо.

Проект завязан на библиотеку ming

Да ming-то я нашёл в убунторепах (а до этого и сырцы, но не осилил собрать), вот только заведётся ли оно со свежим или заведётся ли старая версия библиотеки, даже если собрать с современными зависимостями, на свежей системе — это вопрос.

для сборки нужен 32-разрядный Linux

А multiarch не катит?

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

А multiarch не катит?

Возможно, катит, но это надо библиотеки доставлять и в установки проекта тыкать, чтобы оно собиралось с -m 32.

У меня специально для всякой экзотики 32-разрядный дебиан в дуалбуте стоит - мне в него проще перегрузиться, чем в основную систему мультиарчем мусорить. Хотя если честно, основное назначение этого второго дебиана - запуск World of Warcraft под wine.

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

Ну в общем, собрал под x64, со свежим libming нормально слинковалось. Интерфейс подозрительно напоминает uira (может, они просто оба косят под адобфлеш, но тем не менее), но в отличие от него, хоть что-то заимплеменчено. Так-то овчинка стоит выделки, но развиваться есть куда (даже отмены действий нет, это полный треш), если редактор флеша в 2015 году ещё кому-то нужен :) Надо ещё Spalah поискать для полной картины нужности, его раньше вроде нахваливали-нахваливали, а сейчас ищу — сайт, репы — всё подохло; может, хоть на локалхосте у кого остался.

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

Зря вы так про goto. Есть случаи, когда он необходим.

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

Насчёт moc уже сказали, а свои контейнеры (хотя бы в смысле API) нужны как минимум потому, что стандартные контейнеры не позволяют обеспечить ABI-совместимость.

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

существует единственный реальный офис - Microsoft Office

Наша контора десь з 2.3 на ОО. І нічого, зараз на четвертій гілці сидемо і валити не збираємося.

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

Если будешь самостоятельно допиливать - не забудь про TODO в тексте, там парсится текстовое название цвета, он там как-то цепочкой неявных преобразований (будь они неладны) в кисть превращался. Может, это даже не из-за Qt, а из-за снисходительности старых версий gcc. Я эти строки закомментарил, поскольку не стал выяснять, чем это в современных Qt и gcc заменить, надо разбираться...

Неявные преобразования типов - зло!

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

Ах да, чуть не забыл. У Qt своя собственная система сборки есть, хотя некоторые всё равно cmake предпочитают.

qmake или qbs? Первая RIP, вторая имеет хорошие шансы на жизнь. Если вторую хорошо допилят, то можно будет устраивать срач qbs vs gradle. Пробовал gradle для android — ничего хорошего, каша.

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

Думаю, qmake ещё долго будет живее всех живых.

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