LINUX.ORG.RU

Какую либу лучше использовать при программироании под X? (Qt,GTK...)


0

0

Подо что лучше писать(на с++): под Qt, GTK или может лучше вообще под Motif какойнибудь ??? Хочется, чтобы было и красиво и удобно и просто программировать, и чтобы у всех юзеров запускалось без проблем. Kylix, насколько я знаю заточен под Qt. Посоветуйте пожалуйста (только не надо советовать ncurses ;-))

anonymous

Какую лучше либу? QT или fltk. GTK не надо использовать потому, что это тот же ООП подход только средствами языка С, что не есть гуд. Что есть что: QT - очень мощная библиотека, которая поддерживает работу с уникодом, имеет массу приятных особенностей типа работы со сторками и XML, кажется. Очень стабильна. Недостаток ее наверное - сложность (а что делать - за шик надо платить) и использовании промежуточной компиляции. Для больших проектов очень хорошо подходит. fltk (www.fltk.org) - маленькая, быстрая портабельная библиотека. Очень шустрая, дружит с openGL. Очень красивые виджеты, есть графическая утилитка для их проектирования. Очень рекомендую. Для написания утилит с GUI по-быстрому просто нет равных. Я не понимаю людей, которые говорят, что не хотят иметь на харде QT лишь из-за некоторых программ. А для других держат целый гном.

solom
()

Я использую Gtk. Мощная кроссплатформенная библиотека, отличный support, постоянно в развитии. Есть версия под С++. Имеет wrappers под другие языки. Для начинающих есть Glade - построитель интерфейсов. GtkFB работает без XWindow. Gdk, GIMP ... Вобщем очень рекомендую. Хотя сам пробуй :)

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

Как раз то, что GTK никаких дурных C++ не использует как раз и есть большой гуд, ибо это позволяет делать биндинги GTK для нормальных языков. Ну а писать GUI на C++ - извращение позорное.

anonymous
()

SDL (http://www.libsdl.org). Может работать как под X, так и под framebuffer'ом. Очень маленькая. А самое главное - написана профессионалом (ведущим программером фирмы Loki). Код вполне приличный, никакого дилетантства, как во всяких там GTK, wxWindows и прочих любительских поделках. SDL предоставляет только базовые средства ввода / вывода, поэтому у пользователя либы полная свобода в проектировании классов.

nobody ★★
()

2 anonymous (*) (2001-03-30 20:36:58.0) Ну почему же извращение позорное? А гуй по-твоему разве не объектная модель? Таким образом ее реализовать просто естественно.

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

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

Кроме того, GUI и на необъектную идеологию красиво ложится, для примера чего смотри на Tcl/Tk.

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

SDL никак не библиотека для GUI. Это аналог DirectX. Кому охота поверх SDL свои виджеты реализовывать - пущай трахается сам, но не фиг советовать это остальным.

anonymous
()

2 anonymous (*) (2001-03-31 17:03:19.0) В С++ Я нашел такие изъяны: 1. Кривой и неудобовариваенмый синтаксис 2. Похабно реализуемое множественное наследование (в яве лучше сделано, хотя это заимствованное). 3. Совместимость с С, которая разрешает программам на физическом уровне делать с аппаратурой что захочется. Но с другой стороны: если человек пишет прогу на С++ то логичнее всего наверное использовать плюсованную либу, а? Судя по стилю ты скорее всего - vsl. Я угадал? Кстати, на ocaml или той же схеме что-то путное (большой проект) сделали? Хотелось бы ссылку. ООП, кстати зря ругаешь - текст программы становится куда читабельнее (С vs C++). Да и программа мыслится по-другому.

solom
()

Что не понравилось во множественном наследовании?
В Яве нет множественного наследования. То что ты можешь реализовать несколько интерфейсов - это не совсем то.

Havoc ★★★★
()

В яве оно как раз сделано путем использования интерфейсов и IMHO это лучше. В С++ могут возникнуть проблемы. На эту тему довольно много писалось.

solom
()

Э нет, в С++ если в базовом классе метод уже реализован, то в потомке ты можешь его не трогать.
В Джаве ты ОБЯЗАТЕЛЬНО должен реализовать ВСЕ методы из используемых интерфейсов.
В С++ это скорее аналог COM (т.е. наследование от класса, содержащего только чистые виртуальные ф-ии).
Т.е. в Джаве реализован частный случай.
О проблемах не говорим, это всем известно.

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

Ничего логичного в том, чтобы писать гуйню на том же языке, что и логику приложения, таки нет. Это и есть моё основное возражение. ГУЙня должна быть скриптовой и отрываемой. Это - unix way.

Ну а ООП я ругаю в данном случае исключительно в применении его к ГУЙне. Подход, реализованный в Tcl/Tk - гораздо лучше и естественнее.

anonymous
()

2 anonymous (*) (2001-04-03 14:19:25.0) На то, как реализовано в Tcl/Tk. я посмотрю. Можешь кинуть ссылку на такое приложение (в исходниках), использующее данный подход? А на счет unix - way... Отрывочность ГУЯ от логики приолжения - это тоже самое, как ты бы покупал не телевизор, а 2 ящика: монитор (экран) и сам приемник (ящик) и дома бы все это соединял проводами. Если какой-то объект в окно выводит некую информацию, то почему бы его не обозвать окном, сделать его потомком класса window, к примеру (телевизор - это ведь ЭКРАН в первую очередь с кнопками во вторую очередь). В любой системе с ГУЕМ программа - это окно...

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

Посмотри на VisualTcl - он сам целиком на Tcl писан. Проникнись.

По поводу отрывания гуйни - у тебя мышление законченного виндузятника. Даже не представляю, как тебе доходчиво объяснить, насколько сильно ты заблуждаешься. Тут только примеры могут помочь. Запомни - юникс - это конструктор. Из кучи мелких деталек. А монолитная позорная гуйня маздаеобразная на роль детальки ну никак не канает.

anonymous
()

На счет мышления я не виндоузятник, а просто попытался спроецировать примеры и концепции на реальную жизнь. То, что UNIX - конструктор я знаю и понимаю. Вот IRIX - тоже UNIX для SGI. Они пишут всякие крутые программы для графики. У них тоже скриптовый ГУЙ, или же они все виндоузятники по уровню мышления?

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

гм. Уважаемый о паттернах проектирования слыхал? Дык как раз в С++ они и реализуются наиболее гибко, ибо затачивать сценарные языки (Tcl/Perl) под несвойственные им проблемы - занятие неблагодарное. Если GUI небольшой, то использование языков сценариев для построения GUI может еще быть приемлемым, но не более того.

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

хех. Вообще-то одно из основных применений IRIX - работа с так называемой "тяжелой" графикой, MAYA etc. Так что поклонниками "виндоузятников" (по вашему изречению) их не назовешь - это требование бизнеса - заточка GUI под производственные необходимости

anonymous
()

2anonymous (*) (2001-03-30 08:30:29.0): если надо легкое, универсальное (в плане переносимости с одного дистрибута на другой) и простое приложение то мона использовать Xt и иксовые расширения Xaw и Xaw3d (все они идут с иксами, не будет проблем что нужно качать/ставить какую-то библиотеку)...
а к вопросу о гуях - Tcl/Tk оччччень хорошо подходит в приложениях, где прогу можно поделить на две части: гуй и не гуй (типа проги обсчета и отрисовки каких-нить графиков) - где обмен данными между ядром проги и гуем идет через один - два канала, а в другом случае (типа смеси ICQ и какого-нить редактора, где интерфейс с узверем должен быть по многим каналам) такие монстры получаются, что запутаться в них очень просто...

hoopoe ★★
()

господа, я всю жизнь на мотифе пишу (10 лет) - столько ограничений. И с новыми версиями(2.1!!!) - столько новых возможностей. За этими ГУЙными либами не угонишься - выбирать надо где проще писать и чтоб в упор хватало - потом все дополнят. Щяс тоже выбираю QT or GTK. Но я ведь знаю только мотиф. А надо уже выдавать продукцию - вот и не удается перейти на что-нибудь свежее.

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