LINUX.ORG.RU

Зачем нужен wxWidgets?

 , ,


0

2

Вроде как gui тулкиты создаются чтобы создать абстракцию над системой с понятным и стабильным API, чтобы одно и то же приложение могло работать на разных платформах, а от платформ требовалась лишь реализация этого тулкита.
А зачем создавался wxwidgets?
Чтобы очередной пользователь смотрел на

/usr/include/wx-3.0/wx/rtti.h:131:43: error: expected unqualified-id before ‘)’ token
         virtual wxClassInfo *GetClassInfo() const

и недоумевал (а ошибка даже не гуглится)?
Или чтобы переписывать половину программы чтобы быть на актуальной версии тулкита и не остаться на старой, поддержка которой прекратилось?
Может, это тулкит для любителей БДСМ? Зачем всё-таки он нужен?

★★★★★

А зачем создавался wxwidgets?

Для статической сборки с разрешительной лицензией любителями крестов и винды.
Gtk в противоположность плюет на статику + заморочки с lgpl. Почти без поддержки крестов и винда вечно по остаточному принципу:( Совершенно разные целевые группы.
Qt может быть и хорош, но громадина:( И долгое время бы сильно платен для коммерсов. C другой стороны сейчас WX сейчас почти никому не сдался:(

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

знаю два пакета, использующие wxGTK. это aMule и p7zip. первый нужен мне и ещё полутора анонимусам, а p7zip, вроде, популярный пакет.

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

Почти без поддержки крестов

Зацени mm варпперы. Они вполне себе годны. Насчёт gtk не скажу, но glibmm вполне торт и юзабелен.

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

а p7zip, вроде, популярный пакет.

Я его чисто как cli использую. А GUI в виде Ark.

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

Тут 2 исторических момента. Во время расцвета Wx mm был несколько раздраеный и поломаный по мелочам. И таскать его для кучи на винду тоже не очень удобно было. Wx гораздо однокомплектней и занял нишу место Gtk в кросплатформе. А Gtk стал системной либой для линуса в основном.

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

p7zip, вроде, популярный пакет.

Это прежде всего старый проект и порт из под винды. Когда зачинался Qt был еще gpl/prop и в конкуренты не попадал. Сейчас другие времена и Wx почти легаси.

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

PoEdit не знаю

~ $ equery d wxGTK 
 * These packages depend on wxGTK:
app-arch/p7zip-16.02-r2 (wxwidgets ? x11-libs/wxGTK:3.0[X])
net-p2p/amule-9999 (gtk3 ? x11-libs/wxGTK:3.0-gtk3[X?])
                   (!gtk3 ? x11-libs/wxGTK:3.0[X?])

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

Обновялются алгоримы 7zip-а а UI почти не меняется. Старый в том смысле что раз много лет выбрали Wx то и тянут по старой памяти. Переписывть особого смысла нет. А новых проектов на Wx-е не видно. Сравни с Qt-ом.

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

знаю два пакета, использующие wxGTK. это aMule и p7zip. первый нужен мне и ещё полутора анонимусам, а p7zip, вроде, популярный пакет.

Ещё Audacity, Filezilla и PCSX2

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

Нет, намного тяжелее. Даже Qt 4.

А Qt 5 так вообще раздут со своими Widgets+GUI+XCB+QPA+зачем-то линковка к OpenGL.

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

Его версию wxwidgets, похоже очень давно забросили если смотреть по фичами и основной сборкой является сборка с qt4 в большинстве дистрибутивов. В генту собирается с qt5.

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

Нет, намного тяжелее. Даже Qt 4.

Ну врёшь же:

% pkg info -s wx30-gtk2-3.0.2_7 qt4-corelib-4.8.7_10 qt4-gui-4.8.7_3
wx30-gtk2-3.0.2_7              24.5MiB
qt4-corelib-4.8.7_10           6.44MiB
qt4-gui-4.8.7_3                15.0MiB
slovazap ★★★★★
()

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

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

Qt намного легче wx, учитывая модульность.

Wx по итогам легче за счет статической линковки и его лицензия упрощает это в отличае от Qt. Если используешь динамические so-шки из дистра то понятно расклад примерно равный. Но я уже говорил что на linux-only Wx никогда и не был особо нужен.

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

на linux-only Wx никогда и не был особо нужен

Лончер для фриспейса же. Я только ради него wx держу.

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

Ктулху тебя помилуй, откуда столько ненависти? QtCreator это лучшее что происходило в мире С++ за последние много лет.

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

wx30-gtk2-3.0.2_7 24.5MiB

lib/libwx_baseu-3.0.so
lib/libwx_baseu-3.0.so.0
lib/libwx_baseu-3.0.so.0.2.0
lib/libwx_baseu_net-3.0.so
lib/libwx_baseu_net-3.0.so.0
lib/libwx_baseu_net-3.0.so.0.2.0
lib/libwx_baseu_xml-3.0.so
lib/libwx_baseu_xml-3.0.so.0
lib/libwx_baseu_xml-3.0.so.0.2.0
lib/libwx_gtk2u_adv-3.0.so
lib/libwx_gtk2u_adv-3.0.so.0
lib/libwx_gtk2u_adv-3.0.so.0.2.0
lib/libwx_gtk2u_aui-3.0.so
lib/libwx_gtk2u_aui-3.0.so.0
lib/libwx_gtk2u_aui-3.0.so.0.2.0
lib/libwx_gtk2u_core-3.0.so
lib/libwx_gtk2u_core-3.0.so.0
lib/libwx_gtk2u_core-3.0.so.0.2.0
lib/libwx_gtk2u_gl-3.0.so
lib/libwx_gtk2u_gl-3.0.so.0
lib/libwx_gtk2u_gl-3.0.so.0.2.0
lib/libwx_gtk2u_html-3.0.so
lib/libwx_gtk2u_html-3.0.so.0
lib/libwx_gtk2u_html-3.0.so.0.2.0
lib/libwx_gtk2u_media-3.0.so
lib/libwx_gtk2u_media-3.0.so.0
lib/libwx_gtk2u_media-3.0.so.0.2.0
lib/libwx_gtk2u_propgrid-3.0.so
lib/libwx_gtk2u_propgrid-3.0.so.0
lib/libwx_gtk2u_propgrid-3.0.so.0.2.0
lib/libwx_gtk2u_qa-3.0.so
lib/libwx_gtk2u_qa-3.0.so.0
lib/libwx_gtk2u_qa-3.0.so.0.2.0
lib/libwx_gtk2u_ribbon-3.0.so
lib/libwx_gtk2u_ribbon-3.0.so.0
lib/libwx_gtk2u_ribbon-3.0.so.0.2.0
lib/libwx_gtk2u_richtext-3.0.so
lib/libwx_gtk2u_richtext-3.0.so.0
lib/libwx_gtk2u_richtext-3.0.so.0.2.0
lib/libwx_gtk2u_stc-3.0.so
lib/libwx_gtk2u_stc-3.0.so.0
lib/libwx_gtk2u_stc-3.0.so.0.2.0
lib/libwx_gtk2u_webview-3.0.so
lib/libwx_gtk2u_webview-3.0.so.0
lib/libwx_gtk2u_webview-3.0.so.0.2.0
lib/libwx_gtk2u_xrc-3.0.so
lib/libwx_gtk2u_xrc-3.0.so.0
lib/libwx_gtk2u_xrc-3.0.so.0.2.0
EXL ★★★★★
()
Ответ на: комментарий от EXL

Нет, намного тяжелее. Даже Qt 4

Ты пишешь правду. Но я несколько лет на wx сидел, помню какие страдания были делать GUI. Просто Qt тогда был лишь под GPL...

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от Deleted

ага. чтобы привлечь в плюсы говнокодеров. вот чем были замечательны плюсы - там чтобы что-то написать, нужны были мозги. креатор аннулировал это требовалие и миллионы индусов ломанулись «писать софт». посмотри на уровень вопросов, которые задают юзеры культи. я даже на форуме видела идиота, который утверждал, что он «программирует на Qt, а С++ ему вообще не нужен». до такого доходит. так что вредоносность креатора просто зашкаливает. он хуже билдера, который когда-то под маздаем был.

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

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

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

программирует на Qt, а С++

Qt вмешивается в синтаксис языка, так что эта фраза совершенно корректна.

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

И потом пришла молодёжь и показала что с помощью современных инструментов можно вполне прилично писать без большого опыта. А в тебе просто говорит сноб.

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

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

серьезно, чтоле? так уж и ни от чего не зависящий?

ananas ★★★★★
()

Возьмите Qt и не переживайте.

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

Чисто под linux/bsd не нужен, проще взять gtkmm, а для кроссплатформы можно использовать чтобы не тащить gtk на венду где оно выглядит как говно и не присутствует в системе

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

ok, ok.

только, честно говоря, мне пофиг.

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

Из-за него и бомбануло. Пришлось размаскировывать нестабильную версию

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

Вроде firefox и palemoon перешли на gtk3. Ещё из gtk2 у меня остался eiskaltdc++ (принудительно собран с gtk2, не работает нормально в таком виде), gimp (вроде уже на gtk3 актуальные версии?), куски lxde которые давно не нужны и ещё какие-то биндинги. И если бы не моя ненависть к gtk3 (возможно, необоснованная), то они уже были бы на gtk3. Так что будь я чуть менее маргинален, gtk2 тут не было.

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

ты не слышал о кросплатформенном «Zinc Application Framework» состоящем из библиотеки виджетов и программы-дизайнера окон

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

gimp (вроде уже на gtk3 актуальные версии?)

Увы, нет. Порт на GTK3 до сих пор WIP.

https://wiki.gimp.org/wiki/Roadmap#GIMP_3.0

P.S. Java и Mono сидят на GTK+2 пока, хотя SWT кажется может в GTK+3.

В общем, GTK+2 пока ещё вкладывается в любой популярный десктопный дистрибутив.

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

Ну и где теперь этот Цинк? Значит не всё, или не так или не тогда.

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

вот чем были замечательны плюсы - там чтобы что-то написать, нужны были мозги. креатор аннулировал это требовалие и миллионы индусов ломанулись «писать софт».

Илита программирования в треде! Все в машину!

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