LINUX.ORG.RU

Ищу живую альтернативу libui

 , ,


5

6

Нужна минимальная либа-обёртка над системный GUI фреймворком для создания GUI приложения из 2.5 кнопок. Самая сложная часть в нём - TreeView.

Сейчас использую Qt, но это перебор.

Желательна реализации на C, чтобы можно было использовать биндинги для нужного языка.

Всякие fltk и прочая маргинальщина из 90-х не подходит. Прога должна использовать системную тему.

PS: я знаю что альтернатив нет, но писать три отдельные реализации - боль.

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

так и не смог собрать под винду.

Так это MSYS2 или как там его. Там уже собрано всё.

Слишком жирный

Да ладно. uTorrent со всеми причиндалами своими меньше 1МБ раньше был. А он как раз на wxWidgets. Тебе сколько по размеру нужно?

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

Чем меньше - тем лучше. Все приложения, что я нашёл на wxwidgets весят прилично. Как понять, сколько их этого wx - не ясно, ибо они в статику собраны.

msys2 не походит, так как мне распространять потом надо. А в нём всё собрано динамически - будет 100500 либ.

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

Собрал wx под маком со стандартными флагами: libwx_osx_cocoau_core весит 7МБ.

Или я что-то делаю не так, или вес тот же, что и у Qt.

Там конечно есть 100500 опций сборки, но всё равно.

Ну и самая важная часть - дерево, выглядит не очень нативно. Qt рисует красивее. У wx чекбоксы в дереве виндовые...

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

Тогда нет пути. Хотя когда я тыкал wxWidgets ещё второй версии под виндой, он был довольно компактным и экзешник со статической линковкой не превышал 2МБ.

Qt рисует красивее.

Что насчёт Qt Lite? Во времена Qt 4 мне удавалось доковырять QConfig и получить всего 800-900КБ доп. веса в EXE'шнике, отрубив к чертям всё лишнее.

А вообще для двух кнопок и TreeWidget можно ковырнуть стандартные API на каждой из трёх систем. Так будет гораздо удобнее, чем тянуть либу в проект и зависеть ещё и от неё.

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

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

Прога из двух кнопок и есть проект. Ядро в виде cli.

Qt Lite без документации пока. Поэтому никто, кроме авторов, не знает как оно устроено. Но старые добрые дефайны позволяют срезать 2-3МБ на раз, это да.

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

В MSYS2 есть статически собранный Qt. Он прям отдельным пакетом идёт. Да и в целом статических либ там полно.

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

Qt Lite без документации пока. Поэтому никто, кроме авторов, не знает как оно устроено. Но старые добрые дефайны позволяют срезать 2-3МБ на раз, это да.

Так это те же самые старые дефайны, только теперь задающиеся через configure, а не через qconfig-xxx.h, и их стало больше

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

Разве? Через какой configure? Который скрипт сборки? Там, вроде бы, ничего не поменялось.

Ну и старые дефайны тоже штука опасная. Нужно каждый отдельно тестить, иначе не соберётся.

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

Там, вроде бы, ничего не поменялось.

См. -list-features, -feature-<feature>, -no-feature-<feature>, -list-libraries

Нужно каждый отдельно тестить, иначе не соберётся.

Все так и есть.

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

Это с какой версии?

Сорри, это я 5.9 смотрю, в 5.8 и правда нет части опций. Но -feature должен работать. Доступные фичи можно посмотреть в выхлопе 5.9 или непосредственно в файлах configure.json у каждой библиотеки.

Есть какая-то публичная дока?

Есть, называется ossi|tt в #qt-labs :)

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