побыстрее забацать кросс-платф. простой GUI
Предлагаю написать GUI на Python на библиотеке Tkinter. И сам Python и Tkinter кроссплатформенные. Уверен, что в Python легко подвязываются любые внешние (C,C++) примитивы. А вообще, я бы математику вынес в сервер, а GUI был бы клиентом (имеется в виду обычный TCP/IP). Я уже где-то писал, что так делать правильно, и пока не разубедился
Такой вопрос: в результате подсчета генерируется большая (около 1000 x 1000) матрица чисел, которые надо визуализировать в GUI (предполагается для этого рисовать картинки). Можно ли в Python/TkInter передать из С int matrix[width * height * 3(rgb)], а там как-то воспринять ее как картинку? Через сервер - это кончено маза, но гонять 3 мегабайта через сокеты не хочется. Не будет ли задержек? Хотелось бы минимизировать время между тем как пользователь жмет кнопку, и тем, как видит на экран результат подсчетов.
Что страшного в гонении 3 Мб через сокет?
Я недавно python узаю, но wxPython + xrced это очень прсто и очень бустро (плюс кроссплатформенно)
Это генератор фракталов, что ли? Если да, то есть же куча стандартных прог...
А ты гоняй не матрицу, а картинку А еще из Python в _Python_ можно передать что угодно (даже код!, Python же интерпретируемый) - там сериализация есть, так что может стоит и на серверной стороне маленького питончика приручить
Я недавно python узаю, но wxPython + xrced это очень просто и очень быстроДа вот я тоже python недавно для себя открыл, и Tkinter тоже очень удобно Короче, каждый свой огород хвалит Могу только добавить, что Tkinter - это python-ская обертка над TCL-ной библиотекой Tk, так что если знаком с последней, то будет совсем просто.
Ну имеется в виду если через интернет придется...
Я насчёт tKintera не знаю, но wx vможно настроить на theme look...
А почему бы не обойтись просто tcl/tk? Я прекрасно понимаю, что на питоне легче. Но о юзере тоже надо подумать. Нафиге ему взгромождать на свою машину питон только для того, что бы заработало GUI к одной програмке.
Ну вообще-то да. Мне просто показалось, что тут user-а как такового и не будет, человек сам будет своей программкой пользоваться, или нет?
Да ну, что это за юзер, который питон себе поставить не может.
Пфф, что это за разработчик, который заставляет юзера делать что-то кроме setup.exe? Ты еще README сделай: что в PATH прописать, что в реестр А если не расчитывать на (бестолковых) Windows пользователей, то что тогда означает "кроссплатформенность"?
А почему не обойтись просто C++Builder-ом?
Что бы был один и тот же GUI под вынь и под операционные системы. См. сабж.
А ты в курсах, что на последнем Билдере получается один и тот же ГУИ для Винды, Линуха и Соляриса?
А в винде его ставить не надо - тока интерпретатор переписать...
К тому же програмка будет весить колоибайт 5 + xml-файлик, который даже писать не придётся (всё сделает xrced)
Это проблемы твоего дистрибутива.
Ссылку пожалуйста.
Бесплатен ли этот последний Билдер?
В курсе ли ты, что список операционных систем на ограничивается линухом и солярисом?
glade + gtk+ или аналогичное решение на qt чем не подходит? Под вынь оно замечательно соберется, что под MSVC, что под MinGW.
Человек, при установки линукса выбирает пакеты обычно исходя из стандартной установки.
А там питон включён... Неужели ты специально лез в Development, чтобы отключить его?
ЗЫ так на ASP и RH
В курсе ли ты, что список операционных систем на ограничивается линухом и солярисом?Представь себе, да! Но задача поставлена вполне конкретно - прога пишется на Линухе, надо запустить её для Винды. Ничего лучше Билдера в такой ситуации придумать нельзя. Раз уж используется С++.
Насчёт бесплатности - а у тебя все продукты на компе лицензионные? Если да, то флаг тебе в руки и качай триал-версию. Наваяешь что нужно и сноси её.
А вот тебе и ссылочка!
А qt под винду уже можно свободно(бесплатно) получить? Про glade + gtk - ну это не серьезно.
Вполне, имхо, нормальная ситуация, когда программа тащит с собой какую-то либу в виде второго setup.exe. Все гамезы предлагают поставить ПрямойХ, и никто не жалуется.
Язык программирования не становится в один ряд с DirectX.
В сабже есть слово "кросс-платф". То, что ты не знаешь смысл этого слова мы уже убедились в других тредах.
> Насчёт бесплатности - а у тебя все продукты на компе лицензионные?
Да.
Хрениус, ты правда читаешь только сабж, и не читаешь самого треда? Автору не нужна кроссплатформенность для всего и вся. Ещё раз почитай первый пост, чтобы убедиться в этом.
Не язык программирования, а рантайм.
Рантайм скриптового языка - язык.
А qt под винду уже можно свободно(бесплатно) получить?" Qt for Windows is available under commercial (including academic) and educational licenses."
Думаю, educational license здесь будет вполне достаточно.
Про glade + gtk - ну это не серьезно.Тпру. Речь идет не о разработке мегакрутого большого проекта, а быстро собрать простенькую форму:
Для этого нужно быстренько сделать какой-то простенький GUI, с 4 edit-box-ами, filedialog-ом и выводом результата.Для этого glade/gtk+ самое оно, IMHO.
Постараюсь ответить здесь всем:
1) по поводу кроссплатформенности. имеется ввиду только Windows и Linux, работоспособность под другие операционные системы (Solaris, QNX) пока не интересует
2) тулза предназначена в основном для внутреннего пользования. она пишется одним разработчиком для другого. как следствие, пользователь - не дурак, сам может поставить python, скомпилять итп. юзера как такового не будет.
3) вычисления и просмотр всегда делаются на одной машине (в частности, потому что нет второй машины работа по сети не предполагается и не нужна. тем более через интернет.
3) не вызовет ли качание больших данных через сокет заметных задержек? может лучше использовать какой-нибудь shared mem?
4) гонять лучше матрицу, а не картинку. не хочется осложнять код рассчета какими-то либами работающими с jpeg итп (сейчас пишет в pgm). вдобавок, в просмотре нужно 100% качество, сжатие с потерями не катит.
5) это не генератор фракталов
6) не хочется использовать closed-source программы (к c++ builder) по возможности, предлагайте программы на открытых лицензиях.
7) glade+gtk, qt, wx* - подходит идеально. именно их я и хотел с начала использовать. единственное, что я не работал ни с одним из них поэтому собственно и спросил. расскажите про плюсы и минусы каждой из этих библиотек.
8) qt для винды распространяется как-то странно (без сырцов, только для msvs6.0). работает ли оно если я для проги буду юзать msvs 7.0 или icc?
Но вот что там насчет доступности исходных кодов и работы под Линукс - не подскажу.
- нужно ставить (не стандарт)
- установка только tgz и rpm (по крайней мере у меня на //big-bug/from inet/)
+ хорошие доки
+ легко учится (- учить всё-таки надо)
+ легко переносится
+ легко создаются формы
Сокеты не нужны, если можно через командную строку, stdin/stdout и файлы всё передать.
Если нельзя, то нужны.
Вызовет ли "качание больших данных" задержку? Может быть, но уж точно на порядки меньшую, чем преобразование форматов перед визуализацией.
http://www.trolltech.com/newsroom/announcements/00000192.html
Qt cross-platform development software will be available under the open source GPL license for open source development and a commercial license for commercial development
PALO ALTO, Calif. - February 07 2005
Trolltech®, a provider of leading application development software, today announced that it will extend its successful dual-licensing business model to include the Qt® cross-platform application development framework for the Microsoft Windows operating system. The availability of Qt for Windows under the open source GNU General Public License (GPL) will bring the benefits of open source software to the Windows environment, fueling the development of open source applications for the mainstream PC market. Qt for Windows is already widely used for commercial software development.
Очень радостная новость
Ае. Qt cross-platform development software will be available under the open source GPL license for open source development and a commercial license for commercial development
PALO ALTO, Calif. - February 07 2005
Trolltech®, a provider of leading application development software, today announced that it will extend its successful dual-licensing business model to include the Qt® cross-platform application development framework for the Microsoft Windows operating system. The availability of Qt for Windows under the open source GNU General Public License (GPL) will bring the benefits of open source software to the Windows environment, fueling the development of open source applications for the mainstream PC market. Qt for Windows is already widely used for commercial software development.
Очень радостная новость
вахххх, клево
qt рульная библиотека. А есть под нее какой-нибудь дизайнер форм? может есть какие-нибудь плагины под VC?
2) Вроде есть. Но точно могут сказать только те, кто юзал под VC. Я же только слышал.
Сделал в своё время одной девушке с физфака прогу, рисующую всякие разные графики. Прога на Python + Tkinter, графики рисовал gnuplot, команды которому передавались через stdin. Очень удобно и лаконично получилось. Кстати, с установкой Python'а на комп научника она сама справилась без проблем.
Сделал на Python + GTK. Интерфейс делается в Glade. Очень удобно, меня вполне устроило.
Веб-интерфейс - самый простой кроссплатформенный ГУИ, если твоя задача укладывается в него без лишнего мозго*****а.
Веб-интерфейс - самый простой кроссплатформенный ГУИ, если твоя задача укладывается в него без лишнего мозго*****а.... при использовании веб-интерфейса, написанного на голом html
Иначе проблемы обязательно будут
профессионально на нем не пишут: выглядит неродным и мало умеет.
преимущества: очень прост в изучении, входит в стандартный дистрибутив.
Оставить комментарий
Landstreicher
Есть некоторая прога, суть которой сводится к тому что вводится некоторый набор из 4 параметров, входной файл и затем проивзодится много-много длинных и очень сложных математических вычислений. Прога в данный момент консольная, параметры передаются как аргументы коммандной строки. Вся разработка делается под Linux.Нужно дать эту программу человеку с Windows, чтобы он мог с ней "играться". Для этого нужно быстренько сделать какой-то простенький GUI, с 4 edit-box-ами, filedialog-ом и выводом результата. Основное требование - простота и скорость создания GUI. Главное - все-таки вычисления, если не будет каких-нибудь фишечек-рюшечек (типа антиалиазенных шрифтов итп то это не страшно. Необходимо, чтобы GUI одинаково работал для Linux и для Windows.
Какую UI-библиотека лучше всего для этого подходит?
PS. Сами вычисления написаны на C++. Предпологается для интерфейса тоже использовать С++. Хотя можно легко сделать DLL и потом его грузить из проги на другом языке.