|
|
|
Графика для Linux., Выбор инструментов для созданя несложного GUI. |
|
|
|
May 24 2008, 09:06
|
Группа: Новичок
Сообщений: 7
Регистрация: 23-05-08
Пользователь №: 37 765
|
Здравствуйте! Задача: разработать панель оператора 320х240. За основу выбрана отладочная плата Cirrus Logic EDB9315A. Основная сложность в том, что программировать GUI будут программеры заказчика. Надо создать для них примеры и т.д. Начал я с QT, но поговорив с Trolltech'ом, узнал, что лицензирование дорого (от Э7500 со средами разработки) и запутанно (пока на разобрался до конца). Linux использовать придеться (и хочется!), иначе потянутся другие сложности. Вопрос: что посоветуете для графики? P.S. Если есть проблемы с заливкой платы, см. сюда arm.cirrus.com/docs/2.6/x160.html
|
|
|
|
|
May 24 2008, 10:42
|
Адепт
Группа: Свой
Сообщений: 520
Регистрация: 15-02-05
Пользователь №: 2 656
|
Цитата(Logout @ May 24 2008, 13:06) Здравствуйте! Задача: разработать панель оператора 320х240. За основу выбрана отладочная плата Cirrus Logic EDB9315A. Основная сложность в том, что программировать GUI будут программеры заказчика. Надо создать для них примеры и т.д. Начал я с QT, но поговорив с Trolltech'ом, узнал, что лицензирование дорого (от Э7500 со средами разработки) и запутанно (пока на разобрался до конца). Linux использовать придеться (и хочется!), иначе потянутся другие сложности. Вопрос: что посоветуете для графики? P.S. Если есть проблемы с заливкой платы, см. сюда arm.cirrus.com/docs/2.6/x160.htmlУ Trolltech есть старые версии open-source qtopia (например, qtopia-free-2.1.0), которые идут не по dual-license, а по обычной GNU GPL лицензии. Поэтому, если заказчик программирует для себя, или открытие исходников не является для него проблемой, то можете смело ставить эту версию QTopia и использовать ее для коммерческого проекта. Если открытие исходников не входит в планы, то похоже из бесплатного кроме как FLTK особых вариантов нет.
|
|
|
|
|
May 24 2008, 15:17
|
Адепт
Группа: Свой
Сообщений: 520
Регистрация: 15-02-05
Пользователь №: 2 656
|
Цитата(Nitrotoluol @ May 24 2008, 15:31) qt не рекомендую, лучшее(из бесплатного) чем я пользуюсь и мне нравится это wxWidgets к тому же к нему есть опен сорс редактор форм, вобщем вот ссылки: http://wxwidgets.orghttp://wxformbuilder.org/вот скрины готовых интерфейсов: http://www.wxwidgets.org/about/screensh.htmА можно узнать причины неприязни к QT? Или это из серии - "я знаю только Delphi, поэтому Delphi круче"?
|
|
|
|
|
May 24 2008, 17:04
|
Ally
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050
|
wxWidgets вообще-то не есть GUI. Это некий довольно убогий фреймворк с кучей далеко не embedded функций тесно привязанный к PC платформе. Смотрите сами: http://docs.wxwidgets.org/stable/wx_functions.html#functionsШансы поставить его на голую платформу близки к нулю. Qt - тот же гемор. Это тоже фреймворк, с кучей не относящихся к GUI функций. Плюс дополнительный гемор - не прямая компиляция. Если Wiki не врет , то там нужно предварительно пропускать исходники через Meta Object Compiler. В переводе это типичный obfuscator. Т.е. портирование затруднено до предела. Из опыта работы с Qt на отладочной борде с i.MX27 его так называемая embedded версия требует не менее 30 Мег RAM-а Цитата(acex2 @ May 24 2008, 18:47) А можно узнать причины неприязни к QT? Или это из серии - "я знаю только Delphi, поэтому Delphi круче"?
|
|
|
|
|
May 24 2008, 19:57
|
Участник
Группа: Свой
Сообщений: 33
Регистрация: 20-05-08
Из: Украина
Пользователь №: 37 661
|
Цитата(acex2 @ May 24 2008, 18:17) А можно узнать причины неприязни к QT? Или это из серии - "я знаю только Delphi, поэтому Delphi круче"? да потому что он меня ничем не ограничивает, захочу продам, захочу выложу опенсорс, и ни в том ни в другом случае не выложу ни цента. я не теряю много времени на разработку интерфейса, а времена делфи для меня давно прошли, еще что неменее важно это удобство пользования. Цитата(AlexandrY @ May 24 2008, 20:04) wxWidgets вообще-то не есть GUI. Это некий довольно убогий фреймворк с кучей далеко не embedded функций тесно привязанный к PC платформе. Смотрите сами: http://docs.wxwidgets.org/stable/wx_functions.html#functionsШансы поставить его на голую платформу близки к нулю. Qt - тот же гемор. Это тоже фреймворк, с кучей не относящихся к GUI функций. Плюс дополнительный гемор - не прямая компиляция. Если Wiki не врет , то там нужно предварительно пропускать исходники через Meta Object Compiler. В переводе это типичный obfuscator. Т.е. портирование затруднено до предела. Из опыта работы с Qt на отладочной борде с i.MX27 его так называемая embedded версия требует не менее 30 Мег RAM-а мда... довольно веселый ответ особенно еси учесть что(надеюсь вы понимаете английский): "wxWidgets lets developers create applications for Win32, Mac OS X, GTK+, X11, Motif, WinCE, and more using one codebase. It can be used from languages such as C++, Python, Perl, and C#/.NET. Unlike other cross-platform toolkits, wxWidgets applications look and feel native. This is because wxWidgets uses the platform's own native controls rather than emulating them. It's also extensive, free, open-source, and mature." далее идете и читаете вот это http://www.wxwidgets.org/about/datasheets/...etsEmbedded.pdfи это http://www.wxwidgets.org/docs/embedded.htmесли это называется "тесно привязанный к PC" и "вообще-то не есть GUI" значит я испанский летчик... а насчет убогости... вы просто видать не писали интерфейсов на чистом ассемблере.... а вообще нужно сказать что на вкус и цвет фломастеры разные...
|
|
|
|
|
May 24 2008, 21:32
|
山伏
Группа: Свой
Сообщений: 1 827
Регистрация: 3-08-06
Из: Kyyiv
Пользователь №: 19 294
|
Цитата(Logout @ May 24 2008, 12:06) Здравствуйте! Задача: разработать панель оператора 320х240. За основу выбрана отладочная плата Cirrus Logic EDB9315A. Основная сложность в том, что программировать GUI будут программеры заказчика. Надо создать для них примеры и т.д. Начал я с QT, но поговорив с Trolltech'ом, узнал, что лицензирование дорого (от Э7500 со средами разработки) и запутанно (пока на разобрался до конца). Linux использовать придеться (и хочется!), иначе потянутся другие сложности. Вопрос: что посоветуете для графики? P.S. Если есть проблемы с заливкой платы, см. сюда arm.cirrus.com/docs/2.6/x160.htmlВы можете выложить свой исходный код и Trolltech не попросит у Вас ни цента. Вряд ли кому-то будет особый зыск с GUI Вашего проекта... мало того, можете еще накатать пару статей в журналы, мол "программирование Qt под встроенные системы" с ссылками на свой проект. Ведь лицензия Qt обязывет раскрыть только код для...
--------------------
Нас помнят пока мы мешаем другим... //-------------------------------------------------------- Хороший блатной - мертвый... //-------------------------------------------------------- Нет старик, это те дроиды которых я ищу...
|
|
|
|
|
May 25 2008, 13:09
|
Ally
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050
|
Рекламой нам мозги кормить не надо, тем более такой не убедительной. Можете показать что сами сделаи на wxwidgets? И каким образом они к вам попали, в смысле получили вы их готовыми на чужом KIT-е или портировали сами. Цитата(Nitrotoluol @ May 24 2008, 23:27) да потому что он меня ничем не ограничивает, захочу продам, захочу выложу опенсорс, и ни в том ни в другом случае не выложу ни цента. я не теряю много времени на разработку интерфейса, а времена делфи для меня давно прошли, еще что неменее важно это удобство пользования. мда... довольно веселый ответ особенно еси учесть что(надеюсь вы понимаете английский): "wxWidgets lets developers create applications for Win32, Mac OS X, GTK+, X11, Motif, WinCE, and more using one codebase. It can be used from languages such as C++, Python, Perl, and C#/.NET. Unlike other cross-platform toolkits, wxWidgets applications look and feel native. This is because wxWidgets uses the platform's own native controls rather than emulating them. It's also extensive, free, open-source, and mature." далее идете и читаете вот это http://www.wxwidgets.org/about/datasheets/...etsEmbedded.pdfи это http://www.wxwidgets.org/docs/embedded.htmесли это называется "тесно привязанный к PC" и "вообще-то не есть GUI" значит я испанский летчик... а насчет убогости... вы просто видать не писали интерфейсов на чистом ассемблере.... а вообще нужно сказать что на вкус и цвет фломастеры разные...
|
|
|
|
|
May 25 2008, 14:09
|
Группа: Новичок
Сообщений: 7
Регистрация: 23-05-08
Пользователь №: 37 765
|
Замечательная дискуссия получается! Настоящий индеец должен всё попробовать (не в смысле шмали, конечно), но не сразу.
По поводу wxwidgets... У меня целевая система 64 MB RAM, 16 MB flash. Увеличитвать память затратно. Можно поставить диск на компакт-флэши, но крайне не желательно из-за суровых условий применения (нефтепромысел). В связи с этим вопросы: 1. если применять wxwidgets, то какой порт - wxX11 или wxGTK? 2. будет ли X11 нормально работать на такой машине? Если ли порт X11 для EDB9315 или рецепт как его изготовить? Надо будет спросить на форуме Cirrus'a.
|
|
|
|
|
May 25 2008, 16:37
|
Участник
Группа: Validating
Сообщений: 56
Регистрация: 15-10-06
Пользователь №: 21 335
|
Цитата(AlexandrY @ May 24 2008, 21:04) wxWidgets вообще-то не есть GUI. Это некий довольно убогий фреймворк с кучей далеко не embedded функций тесно привязанный к PC платформе. Смотрите сами: http://docs.wxwidgets.org/stable/wx_functions.html#functionsШансы поставить его на голую платформу близки к нулю. Qt - тот же гемор. Это тоже фреймворк, с кучей не относящихся к GUI функций. Плюс дополнительный гемор - не прямая компиляция. Если Wiki не врет , то там нужно предварительно пропускать исходники через Meta Object Compiler. В переводе это типичный obfuscator. Т.е. портирование затруднено до предела. Из опыта работы с Qt на отладочной борде с i.MX27 его так называемая embedded версия требует не менее 30 Мег RAM-а wx даавно смотрел - не понравилось поэтому не скажу хорош он или плох а про Qt - в данном случае "нефиг на зеркало пенять" - при минимальном знании английского (для прочтения доки) он настраиваеться так-как нужно автору ....MOC зоветься автоматом - и нужен для работы связки signal-slot - и это более правильно чем Борландовское творение (VCL - Delphi & Builder с добавлением несуразностей в язык).Qt в данном случае совершенно прозрачен и собираеться пачкой компиляторов без лишних(ну еслим честно они бывают) телодвижений. про память .... я в свое время ради прикола - прочитавши qtopia на ngw100(ngw100 это эвалюшен для avr32 ap7000) запихал на него нечто для красивого отбражения состояния железки - загрузку проца,памяти ,сколько пролетело через езернеты и по цепрчкам iptables ну и остальной фигни какую смог придумать - на плате 32 метра оперативки и оставалась примерно 4M .... Цена да - кусаеться в свое время покупали за 2500*2 (две платформы) но это было 4 года назад (еще 3 версия)...Щаз незнаю - 4 покупали без моего участия ....
|
|
|
|
|
May 25 2008, 17:54
|
Адепт
Группа: Свой
Сообщений: 520
Регистрация: 15-02-05
Пользователь №: 2 656
|
Цитата(AlexandrY @ May 24 2008, 21:04) Qt - тот же гемор. Это тоже фреймворк, с кучей не относящихся к GUI функций. Плюс дополнительный гемор - не прямая компиляция. Если Wiki не врет , то там нужно предварительно пропускать исходники через Meta Object Compiler. В переводе это типичный obfuscator. Т.е. портирование затруднено до предела. Из опыта работы с Qt на отладочной борде с i.MX27 его так называемая embedded версия требует не менее 30 Мег RAM-а Не стоит быть таким категоричным в вещах, в которых не разбираетесь. QTopia отлично портируется на embedded Linux, так как работает напрямую через framebuffer. Кроме того, перед компиляцией библиотеки пользователь может сам выбрать при помощи QConfig какая функциональность ему нужна - соответственно можно уменьшить размер, выбрав только нужные фичи. Лет 6-7 назад, когда память была дорогая, у меня довольно сложное приложение на QT отлично крутилось на SA1110 c 16 Мб RAM.
|
|
|
|
|
May 29 2008, 13:21
|
Группа: Новичок
Сообщений: 7
Регистрация: 23-05-08
Пользователь №: 37 765
|
Здравствуйте! Решил пока остановиться на QT. Всё таки Cirrus кое как это поддерживает. Для EDB9315 есть тулчейн, который автоматически лепит бибилотеки QT и окружение рабочего стола OPIE. Так же есть инструмент, который эмулирует фреймбуфер для Х11. То есть можно запускать приложение на ПК, и оно, вроде как, должно выглядеть как на контроллере. Пока сумел запустить Hello world! из примеров на плате и на ПК. Это получилось не сразу. Чтобы установить QT/X11 делай раз: #do-all #Создать директрию "qtx11" там же, где находится linux-crater_1-0-3/ #копировать и запустить скрипт: #sourse do-all wget http://vanille.de/tools/uic-qt2chmod u+rx uic-qt2 wget http://vanille.de/tools/qvfb-qt2chmod u+rx qvfb-qt2 wget ftp://ftp.trolltech.com/pub/qt/source/qt-....10-free.tar.gztar zxvf qt-embedded-2.3.10-free.tar.gz 1>/dev/null cd qt-2.3.10 export QTDIR="$(pwd)" mkdir bin ln -s $QTDIR/../uic-qt2 bin/uic ln -s $QTDIR/../qvfb-qt2 bin/qvfb chmod 666 src/kernel/qpixmapcache.cpp src/kernel/qwindowsystem_qws.h src/tools/qvaluestack.h patch -p1 < ../../linux-crater_1-0-3/packages/qt/qt-2.3.10-gcc4.1.1-fix.patch yes yes |./configure -qconfig "" -depths 4,16,24,32 -system-jpeg -system-libpng -system-zlib -no-xft -qvfb make export PATH=$QTDIR/bin:$PATH Чтобы запустить фреймбуфер делай два: #runfb #запускает фреймбуффер #source runfb export QTDIR=$PWD/qt-2.3.10 export PATH=$QTDIR/bin:$PATH export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH qvfb -width 320 -height 240 & sleep 5 Чтобы поздороваться с миром делай три: #run-t1 #завускает Hello world! из примера #source run-t1 source runfb $QTDIR/tutorial/t1/t1 -qws & Как скомпилирвать этот же пример для EDB9315A в linux-crater напишу попозже, если кому то интересно... Там я много ковырялся, и не только с QT. В общем, работать можно.
|
|
|
|
|
May 29 2008, 19:24
|
Участник
Группа: Validating
Сообщений: 56
Регистрация: 15-10-06
Пользователь №: 21 335
|
Цитата cd qt-2.3.10 это реально 2 ветка ? брось каку - возьми 3 хотя-б , лучше 4 но тут смотреть надо что лучше к задече подходит .... она приятнее(4) но и более массивная .... по qt тут можно поспрошать
|
|
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|