LINUX.ORG.RU

либа для custom UI (C++, кроссплатформенная)

 


0

2

Сабж. Посоветуйте либу для удобного рисования custom UI. Т.е. рамка окна будет нативная (а может и ее не будет), а все внутри - рисованое руками. Анимации всякие, перерисовочки, синхронизации, итп. Можно закодить анимации самостоятельно, но это займет вечность, хотелось бы поживиться готовеньким.

Кроссплатформа. Лицензия только Apache/BSD/MIT-like.

Мне что-то советовали 2 года назад по точно такому же вопросу, но не могу поиском найти тот тред :(

Насколько легко/трудно использовать для этого последний Qt? Т.е. забить на системную тему и перерисовать внешний вид виджетов до неузнаваемости, сохранив общую логику работы.

Background - стандартный UI очень-очень печальный. Хотелось бы что-то в маковском стиле. И без этого отвратительной новой интерпретации хига, и не менее наркоманских стандартных тем Кед. И чтобы одновременно хорошо смотрелось под линь-винь-мак. Я примерно представляю, как это сделать, если нарисовать все руками. И даже согласен на этот гемор. Ибо как стандартными средствами сделать хорошо - не представляю.

★★★★☆

А в чем проблема то? Бери тот же Qt и делай свой плагин стиля. На GTK тоже должны быть аналогичные механизмы.

Хочешь пацанской распальцовки - бери enlightenment.

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

бери enlightenment

на венде и маке запустится?

А в чем проблема то? Бери тот же Qt

не в курсе, вот спрашиваю. Насколько сложно будет, например, сделать плагин стиля, который реализовывал бы стандартный маковский look and feel? Сколько бы ты оценил это в часах? (плюс, каков твой опыт с куте? чтобы отмасштабировать твои часы на чайника)

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

Сколько бы ты оценил это в часах?

Мои знания о яблочном интрфейсе крайне поверхностные, так что это не ко мне

enlightenment под виндовс вроде как собрать можно. Что с маком не знаю. Да, это, пожалуй, не лучший вариант ждя кроссплатформенности.

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

Насколько сложно будет, например, сделать плагин стиля, который реализовывал бы стандартный маковский look and feel?

Глянь на этот листинг (либо можешь найти и посмотреть другие, сторонние) и сам оцени объем и муторность написания стиля http://qt.gitorious.org/qt/qtbase/blobs/stable/src/widgets/styles/qfusionstyl... хотя если если набор виджетов, которые тебе нужны, сильно ограничен, то работы хорошо поубавится.

В Qt и GTK можно кастомизировать UI с помощью таблиц стилей, но подозреваю, что гибкость этих инструментов сильно ограничена возможностями текущего стиля/движка тем. Есть еще QtQuick, но там пока все печально.

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

о, круто! пасиб

а почему это все в одном файле? Создание свалки чем-то обусловлено?

Там же 3,5 тысячи строк! (В первом ядре линукса было 10к.)

stevejobs ★★★★☆
() автор топика

Нагуглил Clutter

http://blogs.gnome.org/clutter/

Ъ:

Clutter — свободная графическая библиотека для создания аппаратно ускоренных пользовательских интерфейсов, для отрисовки используется OpenGL или OpenGL ES. Библиотека является кроссплатформенной и может быть собрана на разных платформах (X11, Darwin и Win32). Также имеет привязки (англ. bindings) к другим языкам (Mono, Perl, Python, Ruby и Vala). Имеется поддержка воспроизведения мультимедиа с помощью GStreamer и двумерной отрисовки с помощью Cairo. Clutter был создан фирмой OpenedHand Ltd, которая в данный момент является частью корпорации Intel.

Каково ваше мнение об этом поделии? Оно живое?

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

а почему это все в одном файле? Создание свалки чем-то обусловлено?

Поддержка стиля реализуется всего одним классом с десятком методов. Наверное в их code guidelines оговорено что-то подобное.

Amp ★★★
()
Ответ на: Нагуглил Clutter от stevejobs

Каково ваше мнение об этом поделии? Оно живое?

Шевелится, выглядит как аналог QtQuick. Сценграф, менеджер анимаций, лэйаут менеджеры, эффекты, декларативное описание интерфейса (на json), какой-то набор встроенных рендер-примитивов с возможностью использования gtk-виджетов, посредственная документация и примитивные примеры (из которых не ясно как с этим всем сварить кашу и можно ли ее вообще сварить). Не видел ни одного прикладного приложения на этом, кроме гнум-шелла.

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

а почему это все в одном файле? Создание свалки чем-то обусловлено?

это реализация методов одного класса, делить на куски нет смысла.

alex_custov ★★★★★
()

Насколько легко/трудно использовать для этого последний Qt?

Тред не читал. Использовать легко ибо QML для этого и придуман.

no-such-file ★★★★★
()
Ответ на: Нагуглил Clutter от stevejobs

Писал кусок проекта на нем. Написан на C... Соответственно, наследоваться от какого-нить компонента и чуть поменять поведение никак. Поэтому или писать лишний код, или извращаться. Сюда же GObject. Мне жутко не нравится. А в остальном мне понравилось. Можно быстро в Json накидать заготовку и когда не лень подделывать ее не меняя исходников и даже не перекомпилируя прогу.

Rubbiroid
()

Насколько легко/трудно использовать для этого последний Qt?

man QSS. Можно изуродовать переделать вид так, что родная мама не узнает.

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

QSS сильно ограничен. Нативного маковского интерфейса на нем не выйдет (ну разве уж совсем что-то простое).

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

QSS — не единственная возможность нарисовать что-то нестандартное. Всегда есть вариант написать рендеринг виджетов самому, но все неинтересное (события, состояния) оставить тулкиту.

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