LINUX.ORG.RU

Qt vs GTK+

 , , ,


0

2

Salve, amici:)

Это мое первое сообщение на данном форуме, так что сильно не бейте:)

Вопрос состоит в следующем: требуется написать пакет программ с графическим интерфейсом. Какой тулкит выбрать, учитывая то, что программы должны будут запускаться и в KDE и в оболочках на GTK+?

Довольно хорошо владею Си и C++, для меня по барабану какой язык использовать. Но если я правильно понимаю, выбрав Qt лучше писать на C++, а GTK+ — тогда воспользоваться чистым C?



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

По дефолту так и есть, а вообще для gtk+ есть gtkmm который позволяет писать на плюсах, и для С есть биндинги к Qt. Так что можно писать на любом языке и на любом тулките. P.S. Запускаться программы будут в любых оболочках без проблем.

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

Запускаться программы будут в любых оболочках без проблем

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

для gtk+ есть gtkmm

Тоже согласен. Там куча дополнений, включая всякие Perl, Python и проч. Но ИМХО в GTK+ лучше было бы использовать pure C

Borsalino
() автор топика

Qt — стильно модно молодежно. И волосы шелковистые.

GTK+ — крысы покидают корабль, но ты попробуй, может тебе понравится.

habamax ★★★
()

Qt — C++-only (inb4: костыли), gtk же лекго прикручивается к любому ЯП.

quantum-troll ★★★★★
()
Ответ на: комментарий от habamax

Мне, честно, не очень нравится (Сам кеды юзаю), но тут вопрос в том, что эта вещь нужна не совсем мне. А так да, выбрал бы Qt

Borsalino
() автор топика
Ответ на: комментарий от e1nste1n

Стандартное оформление Oxygen-GTK вполне приемлемо

Borsalino
() автор топика

Но если я правильно понимаю, выбрав Qt лучше писать на C++, а GTK+ — тогда воспользоваться чистым C?

под GTK можно писать на чем угодно (в т.ч. C++), но да, лучше всего на C.

насчет Qt щас налетят расскажут его любители.

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

советую вообще под линупс не писать ничего, пока ситуация не устаканится.

единственный 100% надежный вариант - это web ui.

т.е. всякие там node-webkit, и т.п.

2 karmich

для С есть биндинги к Qt

а пруф этого вранья есть?

waker ★★★★★
()

Гтк все равно уже рип, какие могут быть вопросы?

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

но тут вопрос в том, что эта вещь нужна не совсем мне. А так да, выбрал бы Qt

Вещь как законченный продукт? Вменяемому пользователю с большой колокольни, на чем там написано. Если выглядит хорошо и делает то, что надо и достаточно быстро — какая разница на чем написано?

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

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

Это ты так тонко предложил на xlib писать, что б оно ещё вернее сдохло?

anonymous
()

Ладно, все-таки буду использовать Qt. Однако еще один вопрос: как у него с Python? Может быть в будущем придется и его использовать, а смешения двух тулкитов не очень бы хотелось, поскольку это засирает систему ненужностями

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

Однако еще один вопрос: как у него с Python

pyQt?

Щас вроде OpenShot переписывается на Qt с питоном внутрях.

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

Вменяемому пользователю с большой колокольни, на чем там написано

Да, но я же упомянул, что

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

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

Это ты так тонко предложил на xlib писать, что б оно ещё вернее сдохло?

я предложил вообще не писать под линупс, т.к. непонятно куда оно катится.

waker ★★★★★
()

Однозначно Qt. Намного проще и удобней. И плюшек больше.

Однако еще один вопрос: как у него с Python?

Есть биндинги Qt к Python: PyQt4, PyQt5, PySide. А использовать питон в качестве скриптов никто не мешает.

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

Да, но я же упомянул, что

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

Ну так приложения GTK+, писанные для щели, с новомодными client decorations, выглядят еще хуже в кде.

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

Они по-моему вообще везде плохо выглядят. Даже в этой самой гномощели....

Borsalino
() автор топика
Ответ на: комментарий от waker

Вот из-за таких как ты и катится. Говорят «а зачем под линукс писать фотошоп? Там никого нет. », другие «а зачем под линукс писать автокад?», третьи «а зачем под линукс игры». И выходит под линукс ничего нет из-за разарботчиков софта просто.

RevenantX ★★★★
()

Qt однозначно. Плюсом является возможность после перекомпилирования запустить и протестить программку на OS X/Windows.
А вообще, что писать собираешься?
Qt это всё же кросс-платформенный фреймворк для построения приложений, со всеми вытекающими оттуда кирпичиками для построения программы. А GTK+ - просто графический тулкит. Поэтому в случае с Qt тебе не придётся велосипедить -> быстрее завершится разработка программы.

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

Ну писать по линукс прямо совсем под линукс достаточно сложно. 90% кода всё равно будет переносимым среди всех свободных юниксподобных систем. Примерно 60-70 процентов будет переносимо на android и tizen.

Ну а если заюзать Qt c умом, то переносимость будет на уровне 80% даже на венду и андроид.

Хотя конечно есть опасность писать десктопные приложения впринципе, но если уж этого опасаться, то не стоит тогда писать вообще)))

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

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

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

Ну писать по линукс прямо совсем под линукс достаточно сложно. 90% кода всё равно будет переносимым среди всех свободных юниксподобных систем. Примерно 60-70 процентов будет переносимо на android и tizen.

как раз gui-код типично нифига не переносим. особенно на мобилы.

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

Qt однозначно. Плюсом является возможность после перекомпилирования запустить и протестить программку на OS X/Windows.

если это единственный плюс — то у меня для тебя плохая новость. GTK тоже работает на win/osx.

waker ★★★★★
()

Смотря что требуется от пользовательского интерфейса.

yoghurt ★★★★★
()

xlib советовали уже?

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

Боже, лучше бы не работало.
Qt-приложения выглядят на win/osx более-менее нативно. Даже QML-приложения старательно имитируют стандартные контроллы. GTK-приложения же выглядят вот так и так.
Лучше бы подтянули внешний вид своих контроллов хотя бы до wxWidgets, который на Win весьма нативен (FileZilla, uTorrent).

EXL ★★★★★
()

Почему тут ещё не советуют wxWidgets/FLTK/FOX Toolkit/SWT ну и немного экстрима - Mozilla XUL :)

P.S. Кстате, нативные вид это не всегда то что хочется видеть, можно сделать UI с полностью отличающимся контролами, и он даже может хорошо выглядеть

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

можно сделать UI с полностью отличающимся контролами, и он даже может хорошо выглядеть

Очень большая редкость.

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

Когда deadbeef для венды то будет? :)

для венды нет необходимости, а для макоси уже есть (но пока на gtk3, пока под cocoa гуй не наговнокодил)

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

Забыл, ещё есть Ultimate ++ :) А вообще, можно тупо взять скажем тот же GTK, кинуть на форму WebKit control, и в этом «браузере» нарисовать любой UI, ни на что не похожий ))

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

единственный 100% надежный вариант - это web ui.

А как же Тк и wxwidgets, они же вроде ни к чему не привязаны и везде по-нативномы выглядят, нет?

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

мнение разработчика аудиоплеера о судьбе целой программной экосистемы, конечно, многого стоит

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

+ в нём ещё есть «современные тенденции» в виде Ribbon Controls

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

С каким тулкитом хочешь — с таким и соберёшь.

Только в теории. На практике же для написания более-менее сложного интерфейса там рано или поздно появляется platform-specific код. И уже из всех щелей начинают лезть всякие cairo_t, HDC и прочие HWND. Функциональность виджетов плавает от бэкэнда к бэкэнду. И тут либо пишешь код по наименьшему общему делителю (не трогая специфичные для бэкэнда флаги и методы), либо велосипедишь свои собственные контролы с претензией на нативность (привет owner-drawn тулкитам). Еще графическая подсистема там реализована постольку-поскольку. А wxMotif/wxX11/wxUniversal там вообще непонятно в каком состоянии в виду своей непопулярности. Но вроде бы кто-то использует.

Amp ★★★
()

Если не боишься немного поучиться, посоветую gtk3 + vala. Код писать - одно удовольствие. Что бы там не говорили, с кроссплатформенностью тоже всё ок.

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

Если немного поколдовать над стилями, кутэ смотрится как минимум близко к нативному: http://istodo.ru/screenShots/OSXAddTask.png . Ну а разрабатывать чисто под линукс сегодня большого смысла нет, в том плане что его поддержка в Qt достается практически бесплатно, переносимость между настольными ОС реально работает через перекомпиляцию. Куда катится? Ну GTK ясно куда, Qt не одним линуксом жив.

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

А ломаться не будет? А то ведь жалуются люди на релизы GTK3: то логику у виджета поменяют, то вёрстка поползёт.

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