[devel] Re: gtk2 programming

Алексей Любимов =?iso-8859-1?q?avl_=CE=C1_l14=2Eru?=
Чт Фев 12 17:51:38 MSK 2004


Vitaly Ostanin пишет:

>On Thu, 12 Feb 2004 19:22:19 +0600
>Alexey Morozov <alex-altlinux на idisys.iae.nsk.su> wrote:
>
>  
>
>>On Thu, Feb 12, 2004 at 04:06:13PM +0300, Vitaly Ostanin wrote:
>>    
>>
>>>>>Я правильно понимаю, что из файла интерфейса можно
>>>>>сгенерировать код, и тогда файл интерфейса не нужен?
>>>>>Вроде это и делает glade ?
>>>>>          
>>>>>
>>>>Да, можно делать и так. Если есть генератор для выбранного
>>>>Вамиязыка. Плюс к тому, код генерится... э-э-э, как бы это
>>>>сказать повежливее... И если для C он еще приемлем, то на
>>>>C++ так не пишут.
>>>>        
>>>>
>>>Мне и для C не понравился. Правда, я в этом... как бы это
>>>сказать... не очень :)
>>>      
>>>
>>:-)
>>    
>>

>>    
>>
>>>>Плюс, правки вставлять все же гораздо проще в XML вариант.
>>>>        
>>>>
>>>То есть увеличение количества зависимостей от библиотек в
>>>данном случае не важно?
>>>      
>>>
>>Зависит.
>>    
>>
точно. приходится собирать свой пакет pygtk2. иначе не покатит.

>>>Мне бы хотелось писать с учётом возможного
>>>переноса под винду. glade под неё есть, а вот работает ли без
>>>глюков?
>>>      
>>>
>>Работает, вроде. Насколько без глюков, сказать не могу.
>>На самом деле, на питоньи биндинги к libglade кто-то (кажется,
>>avl@ жаловался безотносительно Windows). Хотя я (на маленькой
>>приблудке) и не наступил.
>>

как раз сама по себе связка  python-pygtk2-libglade-gtk2 работает 
нормально и кроссплатформена.
маловато документации на pygtk2. Хотя сейчас уже есть и doxygen из кода 
и хороший faq сайт по pygtk2 и вообще изучить враппер на питоне гораздо 
легче, чем что либо другое.
что совсем не нравится - нет автоматической привязки сигналов к методам. 
то есть в сначала в glade указываем связь сигнала с функцией (для C 
этого хватает и вообще самодостаточно), а затем в питоне опять 
прописываем эти соответствия либо одним словарем либо по одному. Причем 
если словарем, то свои аргументы уже не передать. Это не смертельно, но 
неудобно.


>>Вот это и смущает. Единственный язык, который в будущем будет
>>актуален для gtk2, libxml2 и glade - C. Хотя мне и не нравится
>>ручное выпиливание лобзиком.
>>    
>>

Скорость разработки и самое главное, ошибки.

>>    
>>
>>>>Только, чес-слово, не надо на C интерфейсы разрабатывать
>>>>:-).
>>>>        
>>>>
>>>То есть Вы рекомендуете попробовать python (pygtk) ?
>>>      
>>>
>>Я могу сказать следующее:
>>
>>мне (в данный момент времени) нравится питон [, как язык для
>>живых прототипов]. 
>>    
>>
>
>Можно раскрыть [] ? :) Серьёзно, не понял.
>

очень быстро программировать и переделывать. то бишь проще наваять 
прототип, а там уж если осталась нужда, переписать уже отлаженую систему 
на том же С.

>Если я всё-таки закопаюсь во всё это, мне понадобится вкапываться
>глубоко - до создания своих виджетов и оптимизации их отрисовки.
>
Я не спец, но свои виджеты на pygtk2 будет очень сложно создавать. Здесь 
лучше комбинировать. Виджеты на С, логику на питон.

>Наступить на ситуацию, когда проблема решена в новой gtk2, но
>биндинга к ней у основного языка нет - очень обломно.
>  
>
это как раз небольшая проблема. pygtk2 только биндинг.





Подробная информация о списке рассылки Devel