LINUX.ORG.RU
ФорумTalks

Все так ругают GTK и хвалят Qt. Но почему тогда многие крупные проекты пилятся именно на GTK и не собираются переходить на Qt?

 , ,


1

3

Примеры проектов - да море их! Chromium, FireFox, LibreOffice, GIMP, Inkscape, MonoDevelop, Pidgin, Wireshark, Thunderbird, Eclipse, VLC, etc, etc, etc.

Чем плох GTK и если он так плох, то почему многие выбирают именно его?


Лично меня как пользователя Qt вгоняет в уныние отсутствием вменяемой документации на стили. Единственный настраиваемый - qtcurve, но его невозможно настроить без kde. Любой же gtk-стиль можно исправить как угодно простым редактированием текстового файла. Ну и готовых стилей для Qt (не для kde!) кот наплакал.

По поводу файловых диалогов - дело вкуса. Меня, например, жутко раздражает отсутствие списка недавних файлов в kdialog. И по умолчанию автоматически создающиеся миниатюры для файлов (которые всё равно невозможно разглядеть в стандартном диалоге). Если этих файлов под тысячу, переход в такую директорию затягивается на довольно длительное время. Гораздо проще в этом случае пользоваться файловым менеджером и драг-н-дропать нужные файлы.

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

во всех динамически типизированных (нет шаблонов), во всех функциональных (нет ООП вообще, или она примитивная) + 100500 старья + Java + ОКамл с наследниками + множественное наследование является редкостью. и это только навскидку. в итоге, я кроме шарпа и не смогу сходу назвать таких языков, в которых ООП более развито

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

Что именно в словах «не совпадает» тебе непонятно?

пруфов в них не разглядеть

next_time (09.03.2014 18:44:45) [баран упоротый]

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

next_time ★★★★★
()

Firefox - не собирается переходить на gtk3, есть сырой порт на Qt4;
Wireshark - в новых версиях есть Qt4 GUI;

Остальные - тянутся по legacy-причинам или «потому что работает» (c). Далеко не все пакеты перешли на gtk3, а тех, кто перешел безболезненно - не так уж и много(та же remmina и virt-manager - более-менее удачные примеры).

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

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

Я рад, что ты помнишь тот наш разговор, но метку ты получил гораздо позже - после того, как стал демонстрировать свою музыкальную эрудицию.

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

я помню многие разговоры на ЛОРе, а что касается музыкальной эрудиции, скажу так: как вас бомбануло-то с того раза, как я признался в том, что считаю пианино музыкальным инструментом второго сорта.

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

посчитай сколько нужно сделать разных компиляций

тебя лично заставляют крутить педали для каждой компиляции?

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

во всех динамически типизированных (нет шаблонов)

шаблоны к объектной модели имеют весьма посредственное отношение.

во всех функциональных

я же специально написал — в тех где она вообще есть.

множественное наследование является редкостью

множественное наследование в c++ это ужасный кривой костыль.

я кроме шарпа и не смогу сходу назвать таких языков, в которых ООП более развито

«кроме шарпа и крестов ничего в глаза не видел, что такое объектная модель не знаю». так бы сразу и сказал.

чтобы порвать тебе шаблон, приведу пару простых примеров:

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

в objc и жабе объектная модель, опять же в рантайме, позволяет выяснить, есть ли в классе определенные методы. а в крестах?

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

как вас бомбануло-то с того раза, как я признался в том, что считаю пианино музыкальным инструментом второго сорта

Вот веришь - не разбираюсь в сортах пианино %)

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

шаблоны к объектной модели имеют весьма посредственное отношение.

если исходить из голого определения - да. практически — самое прямое. если в языке всего несколько типов, шаблоны не нужны, они нужны только в языках с полноценным ООП и их назначение — сгладить недостаток ООП, обобщение однотипных операций с объектами разных типов, поэтому шаблоны следует рассматривать как расширение концепции ООП

я же специально написал — в тех где она вообще есть.

а я изначально писал про __все__ языки. во многих языках её не вообще

множественное наследование в c++ это ужасный кривой костыль.

какая разница? я писал, что в С++ ООП представлено в наиболее полном объёме, я не писал, что оно — лучшее. факт в том, что кроме плюсов множественное наследование, мало где применяется deal with it

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

тоже можно. гугл указатели на ф-ции.

в objc и жабе объектная модель, опять же в рантайме, позволяет выяснить, есть ли в классе определенные методы. а в крестах?

тоже можно. гугл RTTI

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

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

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

можно получить uuid класса, а по нему не проблема найти список методов и переменных

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

CCЗБ

писать гуй, основанный не на объектной системе — ССЗБ

Это так. Но при чём здесь GTK? Там-то объекты во все поля.

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

вероятно, а может, у меня просто вкусы специфические, кто знает... мне, тащем-то, пофиг

next_time ★★★★★
()
Ответ на: CCЗБ от Camel

при том, что там объектная система выстроена на С костылями, без слёз смотреть на код С с гтк невозможно

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

GTK+ — это совершенство, а вот Qt — раздутое гумно.

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

Firefox - не собирается переходить на gtk3

Вроде бы вполне на пути к полноценной поддержке GTK3. Регулярно фиксятся блокирующие баги, репортятся новые.

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

Ну, это не первый раз я такое вижу. Пару лет назад видел в какой-то другой игре, которую так никуда и не портировали.

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

если это мнение дилетанта, то почему большинство крупных проектов, включая половину упомянутых ТС, сидят на Qt?

принцип действия объектной системы гтк: то, что в нормальных в языках делается как obj.func(arg1, arg2), в гтк делается как func(obj, arg1, arg2), в результате херится автодополнение и страдает качество документации, и там ещё проблем по мелочи наберётся, а профита взамен не получается никакого

и к этому ещё костыли реализации модификаторов доступа, отсутствия static перменных, костыли вокруг конструкторов/деструкторов... и ведь всё это кто-то должен реализовывать, борясь с недостатками дизайна С, в итоге мы имеем то, что гтк нормально выглядит только на одной платформе и в нём отсутствуют половина либ (по сравнению с Qt), при этом те, что есть, как минимум не лучше кутешных

next_time ★★★★★
()

VLC

Улыбнуло

Firefox
Chromium

Там вроде бы свои форки

GIMP

GTK раньше назывался GIMP ToolKit, посмотри на Wikipedia

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

У меня немного инсайдерской инфы от апстрима :-). Трекинг-баг, понятное дело есть, но с разработкой там оочень всё печально.

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

Я в целом тоже не в курсе (
На гитхабе нашёл репозитории близзов ) https://github.com/Blizzard
Есть там и такое: Blizzard's additions/modifications to Qt

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

GTK не хуже, а вполне себе альтернатива

GTK - библиотека для рисования окошечек и кнопочек с нулевой переносимостью. Qt - фреймворк с огромными возможностями и отличной переносимостью. Они никак не могут быть альтернативами друг другу.

//нить не читал

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

ух ты, близы ещё и что-то в нутрях кутей ваяют...

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