LINUX.ORG.RU

Создание кросс-платформенных GUI-приложений с использованием wxWidgets


0

0

Этот материал о том как использовать wxWidgets для создания элегантных и очень полезных GUI-приложений на предпочитаемом вами языке программирования. Основными компонентами wxWidgets-программы являются два главных объекта: объект-приложение и объект-фрейм. Вы, конечно же, можете иметь более одного фрейма. Кроме того, в вашем коде вам понадобится разместить несколько wxWidgets-макросов. Рассмотрим, как скомпоновать эти части.

>>> Подробности

★★★

Проверено: Shaman007 ()

Угу нагородили gtk, qt, etc и терь wxWidgets чтобы "абстрагироваться" и работает это на честном слове.

Oceanborn
()

> Создание кросс-платформенных GUI-приложений с использованием wxWidgets

Не слишком-то оно приятно. Документация слабовата (особенно под другие языки программирования), глюков много, переносимость сильно страдает.

kda ★★★★★
()

Посмотрел сайт этого Chandler'а. Давно не видел сайтов, глючащих под Opera. Ооочень давно.

AsphyX ★★★
()

> на предпочитаемом вами языке программирования

Почему слева навости нет логотипа Java? :)

> wxWidgets для создания элегантных и очень полезных

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

DOKA
()

делал как-то на wx утилитку под Oracle
года полтора назад wx'ы глючили

на wx пишут Code::Blocks (пробовал под XP и в Slackware - иногда падает по сегфолту)

однако мне было приятнее работать с wx чем с MFC и winAPI

а на gtk писать приятнее чем на wx
а на xfc писать приятнее чем на gtk
а на qt писать приятнее чем на xfc
...
что-то еще появится :)

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

>Ты хотел сказать что wx с плюсами - тихий ужос ? Если да - поддерживаю. >:)

Бугага. Ты знал! Сколько времени я угробил на отладку программы: ацкой смеси wx* + oci + либы от SDK смарт-карт в мега-монстре MSVS 7.

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

> Посмотрел сайт этого Chandler'а. Давно не видел сайтов, глючащих под Opera. Ооочень давно.

Удовлетворите мое любопытство - а где конкретно глючит? :))

max-super
()

Карта событий это отстой, прямо как в долбанном mfc. Тот же WinAPI гораздо проще... тока вот не кросс-платформенный :(

anonymous
()

>использовать wxWidgets для создания элегантных и очень полезных

в слове элефантных ошибка

anonymous
()

Вот уж спасибо, хватит с меня этих карт сообщений и прочих недомакросов, напрограмился

anonymous
()

Спасибо IBM за переводы статей...
интересно зачем они переводят такие интересные и нужные статьи? (ведь не по ibm технологиям они)

stalkerg ★★★★★
()
Ответ на: комментарий от max-super

Дожно быть для Perl'а .... оно даже под Lisp / Haskell / OCaml есть :)

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

> интересно зачем они переводят такие интересные и нужные статьи?

Привлечение комьюнити. :)

atrus ★★★★★
()

А ссылки на "Очаровательный Python" в новостях тоже выкладывали? (Оригиналы были Charming Python). Вон сегодня как раз нескоклько статей перевели.

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

> Посмотрел сайт этого Chandler'а. Давно не видел сайтов, глючащих под Opera. Ооочень давно.

Проблемы браузеров сайты не волнуют..

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

> Сто лет в обед есть FLTK и FOX

Чем они лучше по сравнению с wx?

anonymous
()

таблица событий - макрос в стиле MESSAGE_MAP в MFC... Ужас... А при виде слова "oninit" мне сразу вспоминается Informix :))

anonymous
()

Какая гадость эта ваша MFC :fu:

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

>Патрег wx не одобряет.

А, ну так бы сразу и сказал. Вопросов больше не имею. =)

anonymous
()

Я не понимаю, зачем каждому linux-приложению обязательно надо работать под виндой, прям мания какая-то, из-за этого и появляются такие уродцы (wx).

Bohtvaroh ★★★★
()

Расплодили widget'ов, хоть ж*пой ешь. Лучше бы gtk2 причесали и нормальные c++ binding'и сделали.

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

Потому что это не "linux-приложения" ... :)

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

> Расплодили widget'ов, хоть ж*пой ешь. Лучше бы gtk2 причесали и нормальные c++ binding'и сделали.

Проще сразу Qt использовать, чем многоуровневые gtk-велосипеды.

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

> Расплодили widget'ов, хоть ж*пой ешь. Лучше бы gtk2 причесали и нормальные c++ binding'и сделали.

Ну вот и займитесь. Или кроме как языком на LOR трепаться больше сил не хватает?

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

> нагородили gtk, qt, etc и терь wxWidgets

wxWidgets - не "теперь нагородили", библиотеке 15 лет скоро. Она раньше wxWindows называлась, Билли попросил слово "Windows" убрать, чтобы не компрометировать. Кто кого компрометирует - не уточнялось ;-)

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

>VLC решил отказаться от WXW. В сторону QT4.

Скачал себе QT4 Mac opensource. Ставишь скомпиллированную версию - ничего не пашет. Google подсказал, что это значит, что при компилляции не приняли лицензию GPL :-) Помучался, потрахался, скомпилил QT4 из исходников. Почему-то не генерит проект XCODE qmake -project -macx hellogl.pro. Только Makefile. Хотя у коллеги генерит. Ну, думаю, соберу статически, чтобы значит приложение написать своё. Собрал. Простенький какой-нить примерчик занимает от 8 Мб :'(

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

> Проще сразу Qt использовать, чем многоуровневые gtk-велосипеды.
У Wx есть прямо в Xlib и ещё во что-то...

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

> fox toolkit поприятнее будет, чем wx. ИМХО :)

+1, если нужна кроссплатформенность заместо гламура

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

> gtkmm то чем не угодл?

+1. Нормальный c++ биндинг, без костылей. Реализовано _почти_ всё (крайне редко бывает нужно то, до чего через c++ не добраться - в этом случае можно требуемую операцию сделать напрямую через gtk)

slav ★★
()

IMHO шибко на VCL от Борланда смахивает ....

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

так это в чем проблема... напильник и ножницы в руки и причесывай да отпиливай :)

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

был тут небольшой кросс-проектик. оказалось не сильно проще ... :(
в результате конкуренты сделали его вообще на Java ...

dimav123
()

Вообще статье сто лет!

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

>> gtkmm то чем не угодл?

>+1. Нормальный c++ биндинг, без костылей. Реализовано _почти_ всё (крайне редко бывает нужно то, до чего через c++ не добраться - в этом случае можно требуемую операцию сделать напрямую через gtk)

Кроссплатформенный ?

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

Согласен с kda :) Сорри за оффтопы, но, например, qmmp обсирают .. а самим сделать подобное, чтобы продвинуть свой Qt чото слабо :) ... "типа" AmaroK соль - остальное 0 :)
эт по поводу Qt/KDE :) и потом архивесело "сидеть" в КДЕ, пользуясь Gimp/firefox/OpenOffice и т.п. Если либа дотянула до 2.6 версии - значит жизнеспособна :)

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

>Ну, думаю, соберу статически, чтобы значит приложение написать своё. >Собрал. Простенький какой-нить примерчик занимает от 8 Мб :'(

Ключевое слово "статически"

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

> Для плюсов ? Сто лет в обед есть FLTK и FOX

1. wxWidgets -- далеко не новая разработка.

2. Писать массовый пользовательский софт на FLTK и FOX способен только совсем убитый на голову человек. Эти виджетсеты интегрируются в современные DE таким угрёбищным способом, что в дефолтном виде могут устроить разве что гиков.

Соберите для любопытства переписанный на FLTK Cinepaint и посмотрите сами на эти чудовищного размера диалоги и отвратительные грубые серые виджеты а-ля "превед из начала 90-х".

Что касается FOX Toolkit, этим молодцам понадобилось несколько лет, чтобы сделать поддержку Unicode, причём на всех спрашивающих "а когда уже" накидывались и душили. Будем надеяться, что ещё через несколько лет их приложения будут выглядеть родными в KDE, GNOME и прочем мейнстриме.

Hint для фриков: я говорю о FOX и FLTK именно в разрезе удобства пользователей, а не удобства разработчиков.

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

> Скачал себе QT4 Mac opensource. Ставишь скомпиллированную версию - ничего не пашет. Google подсказал, что это значит, что при компилляции не приняли лицензию GPL :-) Помучался, потрахался, скомпилил QT4 из исходников. Почему-то не генерит проект XCODE qmake -project -macx hellogl.pro. Только Makefile. Хотя у коллеги генерит. Ну, думаю, соберу статически, чтобы значит приложение написать своё. Собрал. Простенький какой-нить примерчик занимает от 8 Мб :'(

А UPX у макеров бывает?

Вообще, страшные вещи рассказываешь. У меня под win и под lin всё без проблем.

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