Найти - Пользователи
Полная версия: На чем сделать быстрый GUI?
Начало » GUI » На чем сделать быстрый GUI?
1
timas
Подскажите на чем лучше сделать GUI, чтобы работало быстро и не подтупливало. Причем контролов будет много, если в один момент времени может показываться до сотни, различных элементов, редактируемые кривые, средства управления координатными осями, кнопки различных типов, маленькие полупрозрачные окна с полями, поверх основного окна. Также видимо будет самописные контролы.
Еще, видимо, немаловажно - такая вещь как удобство написания своих контролов.

Наиболее близко к тому что я представляю и из того что я видел это интерфейс Blender (хотя задачи совсем не близкие :) ).

Пока что есть три варианта:
1. GUI на С++/wxWidgets - почему то не хочется….
2. GUI на Python/wxPython - вероятно будет подтупливать.
3. GUI на Python/PyQT - опыта вообще нет.

У кого-нибудь есть опыт построения громоздких интерфейсов на Python? У кого-нибудь это тормозило? Может лучше все-таки на С++, а Python оставить чисто для скриптов? Поделитесь мнением.

P. S. Чтобы не было вопросов, программа для управления одним научным прибором.
bw
4. GUI на PyGTK?

Не думаю что язык в данном случае будет слабым звеном, скорее это сам GUI или, скажем, X'ы. Если вам покажется стандартный набор виджетов недостаточным и начнете писать что-то своё, в этом случае, роль языка (нативный, интерпретируемый) будет более значимой. Но и опять же. Все необходимые виджеты (и др. ресурсоемкий код) можно написать на “быстром языке”, а логику на Python.

Я не имею опыта создания “больших” интерфейсов. Так что кто будет пошустрее, Qt, GTK или WinAPI, не скажу. Вроде, пока, винда остается самой быстрой в этом плане.

p.s. Ну в Blender всё ручками было сделано :-).

..bw
timas
Да, забыл еще кроссплатформенность тоже обязательна :). Как мне кажется, это не очень правильное требование, но как сказали, так и надо делать.
bw, спасибо. Если я правильно понял, то аналогичные GUI на wxWidgets и wxPython - работают практически с одинаковой скоростью?
hellslade
У меня на работе есть проект, ГУИ писал на wxPython. не могу сказать, что контролов очень много, но достаточно для того, чтобы приложение подтормаживало…притом от машины мало зависит…сравнивал некоторые виджеты с аналогичными в Qt и она показала себя чуть быстрее. В данный момент весь ГУИ переписывается на PyQt :)
clopomor
По опису прогнозуємої програми дійсно дуже схоже на інтерфейс Blender -а … гляньте на чому він зроблений - вихідні коди відкриті…
може можливо використати їх бібліотеки(якщо там щось своє) ?
Іще як варіант GTK+ Cairo +OpenGL
або ж SDL
Часом рендерингу в режимі реального часу непотрібно? Бо якщо так - то тоді щось легке типу Motif/FLTK +OpenGL
clopomor
http://www.blender.org/development/architecture/
Там таки можна використати їх UI framework (іде поверх SDL/OpenGL)
timas
clopomor, спасибо, рендерить в реальном времени, не надо, только работа с изображениями, которою с лихвой покрывает PIL(Python) или cxImage (С++). SDL-выглядит немного мощновато, мне же в принципе, нужно GUI сделать, который бы как можно меньше подтупливал.
clopomor
ну тоді вам підійде будь-яка бібліотека - дивіться ту яка надає максимум потрібних вам компонентів…
підтуплювати інтерфейс буде лише коли його перемальовування буде очікувати завершення якоїсь дії(чи внутрі елементів форми щось постійно рендеритиметься), тому просто виділіть сам процес обробки в окремий процес/тред і керуйте ним … а в формі лише відорбражайте результат
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB