LINUX.ORG.RU

Выбор фреймворка для построения ГИП в Пайтоне (Питоне).


0

1

Почему большая часть программистов использующая Пайтон в своей работе упоминает об PyGTK и PyQt (PySide), когда речь заходит о фреймворке для написания ГИП (GUI)?
Очень редко упоминают о wxPython! Почему?
Интересно узнать мнение специалистов работавших с вышеуказанными фреймворками.


Ответ на: комментарий от Divius

> А wx - просто сумашедшее глюкалово, там даже кириллица через раз нормально работает.

Арчевод небось ?))
Почему у меня не глючат boinc и amule ? Руки кривые ?))

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

> При этом код на PyGTk прекрасно работает в обоих истемах (см. тот же Gajim)

gajim в ведне работает как глючное, тормозное гавно, недавно пробовал.

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

Ну что я могу сказать. Воду вы взбаламутили хорошо. Пузырей тоже напустили как следует, да?

Я вижу, вы трепетно относитесь к критике любимых вами технологий. Ну, впрочем, это, конечно, со всеми бывает и стыдиться этого нечего.

Я хотел спросить, а вы сами на чем пишете? Ваш код где-нибудь в сети посмотреть можно? Вы уж не обижайтесь, просто часто так бывает, что человек критикует то, сё, пятое, десятое, а потом выясняется, что он, в общем-то, и не разработчик никакой, а так, «объясняющий господин». Мешает воспринимать таких людей всерьез, знаете ли.

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

А вас и все вами написанное , естественно, не касается ?
Кто первый встал - того и лапти ?

Огорчу вас:
написанием игр , плееров, cms , фреймворками, редакторами и прочей эстрадно-цирковой линуксячей хрения я не занимаюсь, увы.
Код только для заказчика. Таковы правила.

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

> Нормальный он под виндой, два года сижу - полет нормальный

хз, я неделю — две назад поставил, был сильно огорчён

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

Нет, не только. Еще над икст, винапи и кокоа

Я говорил про linux-версию wxWidgets, а она именно на GTK+. Был ещё бэкэнд на Motif, но он умер. Вроде кто-то начинал пилить на Qt, но...

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

> Был ещё бэкэнд на Motif, но он умер

Видимо именно из-за него я относился к внешнему виду программ на wxWidgets предвзято. А мне просто не повезло)

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

Ubuntu. Нет, что угодно можно заставить работать как надо. Вопрос в том, нужен ли кодеру лишний гемор.

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

В вашем случае wx - надстройка над GTK, соответственно, выглядит как GTK. А вот нужна ли лишняя сущность, особенно такая - вопрос.

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

> ну как дети малые, чем визуально убог wxWidgets

визуально он может и не убог, но, по крайней мере раньше, не умел подхватывать пользовательские клавиатурные биндинги из ~/.gtkrc-2.0

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

>чем визуально убог wxWidgets ?

Статусбар, причем на некоторых темах от него просто тошнит. Комбобоксы. В окнах прокруки не выдерживаются интервалы между полосами прокрутки и границей вложенного кона, заданные в gtk-теме. И таких мелких, по отдельности не бросающихся в глаза, багов там тьма. А уж про поддержку тем иконок (которая, между прочим, есть в самом GTK+) приходится только мечтать.

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

> wxThread, wxMutex, wxString, wxFile, wxSocket, etc. GUI говоришь?

Виноват, был не прав.

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

> ну как дети малые, чем визуально убог wxWidgets ?:

А теперь установи что-нибудь сложнее хелловорда с парой кнопок. Например, pgAdmin3.

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

> А уж про поддержку тем иконок (которая, между прочим, есть в самом GTK+) приходится только мечтать.

тут согласен.

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

> я не провел это.

тфу ты : я не проверял это. ))

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


А теперь установи что-нибудь сложнее хелловорда с парой кнопок. Например, pgAdmin3.


ха ха, boinc не хелловорд.
И что это мне должно доказать ?
Что можно сделать уродский интерфейс с уродскими элементами ?
Так я показал, что можно этого и не делать.

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

> ха ха, boinc не хелловорд.

А на скриншоте выглядит как хелловорд: пара кнопок и все.

Что можно сделать уродский интерфейс с уродскими элементами ?


Разумеется разработчики pgAdmin специально изменили компоненты wxWidgets (тулбары, статусбары, диалоговые окна и т.д.), чтобы они выглядели как говно, а на самом деле wxWidgets прекрасен.

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

ну, некоторым нужны вириги и ограничения ?

Разумеется разработчики pgAdmin специально изменили компоненты wxWidgets (тулбары, статусбары, диалоговые окна и т.д.), чтобы они выглядели как говно, а на самом деле wxWidgets прекрасен.


Видимо так, эдакий себе сисадминстующий скопцовый стиль.
К boinc и amule трудно прицепится по внешнему виду (кроме как иконок).
Можно таки делать нормальные апликухи - можно.
А проблемы креативности разрабов оставим в покое.

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

чтение кода гуя на гтк в CL, вводит меня в глубокий ступор, хоть я и не являюсь скобочконенавистником, а даже скорее наоборот.

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

Неосилятор? Так не переваливай свои проблемы на других!

Хорошо там всё обернуто

different_thing
()
Ответ на: комментарий от Zubchick
(defun run ()
  (let ((output *standard-output*))
    (gtk:within-main-loop
      (let ((window (make-instance 'gtk:gtk-window
                                   :type :toplevel
                                   :window-position :center
                                   :title "Hello world!"
                                   :default-width 300
                                   :default-height 100))
            (button (make-instance 'gtk:button :label "Hello, world!"))
            (counter 0))
        (gobject:g-signal-connect button "clicked"
                                  (lambda (b)
                                    (declare (ignore b))
                                    (format output "Hello, world!~%")
                                    (setf (gtk:button-label button)
                                          (format nil
                                                  "Hello, world! (clicked ~D times)"
                                                  (incf counter)))))
        (gtk:container-add window button)
        (gtk:widget-show window :all t)))))


(run)

Действительно. Кромешный ужос. И как в этом всём разобраться?

ugoday ★★★★★
()
Ответ на: комментарий от noob-s

А если вашей программой будут пользоваться на разных ОС?

оно будет работать везде где работает gtk. А gtk уж точно работает под виндами и на многих юникс-клонах точно.

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

феерическая нестабильность

Гон. Что именно там поменяли такого со времён моратория на изменения синтаксиса что должно серьёзно поломать существующую кодовую базу?

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

Ну не все и не везде.
И только при совпадении плюшек в версиях gtk и постона.

как пример: exaile под вантузом ничего не светит.
и попробуй натянуть новый exaile на пистоне на Debian Lenny.
И так почти со всем.

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

Что гон ?

Что именно там поменяли такого со времён моратория на изменения синтаксиса что должно серьёзно поломать существующую кодовую базу?


Это что, я придумал это зоопарк из версий пистона ?
Изучай совместимость и реальные проблемы:
http://www.mail-archive.com/debian-python@lists.debian.org/msg05456.html

Сколько лет уже этому чуду ?

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

Это что, я придумал это зоопарк из версий пистона ?

Какой зоопарк? :))). А perl5 и perl6 не смущает? :)

реальные проблемы

ни слова о реальных проблемах. Просто констатация факта что вроде как что-то типа не работает. Zope это zope, сами кодят так что что-то отваливается. Если выкинуть zope ещё проблемы есть? :)

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

api
биндинги к gtk 2.14 хрен будут работать на новых версиях gtk.
По пистону там свои вопросы - как тараканы появляются и исчезают
какие-то одноразовые либы от голодных студентов.

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

>и попробуй натянуть новый exaile на пистоне на Debian Lenny.

Ты так говоришь, как будто на тикле нельзя написать феерический быдлокод, работающий только при определенной фазе луны и только после отплясывания ритуального танца с бубном…

И еще по поводу зоопарка версий пайтона в твоем любимом дебьяне. Вот целых 3 (три) версии тикля в ленни: http://packages.debian.org/search?keywords=tcl8&searchon=names&suite=stable&s... . Это такая стабильность языка, что надо иметь целых три версии интерпретатора, чтоб тиклевые поделия хоть как то работали?

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

> А perl5 и perl6 не смущает? :)

Нет , не смущает, как и perl7 и perl8 тоже.

Если выкинуть zope ещё проблемы есть? :)


уже выкинули zope и plone. Формально будет указанно причина своего инсталлятора.
О трудностях держать в разрыв системы разные версии
пистона - ни слова в релизе.
Замечательная технология.

Проблема ? Проблема только одна: какой-то хлипкий студень кто-то постоянно называет стабильным и логичным.
А что тогда нестабильным называть ?
Ну прикинь, если бы так bash или perl5 лихорадило ?

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

>Ты так говоришь, как будто на тикле нельзя написать феерический быдлокод, работающий только при определенной фазе луны и только после отплясывания ритуального танца с бубном…

реально не попадалось такое
А вот программки 90 годов прошлого века спокойно запускается и сейчас.
Свинство какое, да ?

Вот целых 3 (три) версии тикля в ленни


Три версии охватывают ~12 лет. и в основном сидят там из-за либ разработанных и непортированных на новые версии tcl.


Мне не попадались случаи когда именно нужен был конкретно Tcl 8.3 .
И да, tcl великолепно обратносовместим.
Tcl 8.3 для совсем старого.
Tcl 8.4 официально стабилен.
Tcl 8.5 новый стабильный, но есть и фикс релизы.
Все это не конфликтует между собой и может использоваться раздельно.

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

> и попробуй натянуть новый exaile на пистоне на Debian Lenny.

И так почти со всем.

Ну дык, на перле и тикле гуёвых программ уже давно не делают, вот и нет с ними проблем, ещё бы. И сами языки окаменели уже. Я вот смутно припоминаю, что с тиклем тоже были похожие пляски при переходе на 8-ю версию. Только масштаб иной: популярность Tcl/Tk даже в самые лучшие времена не сравнить с нынешней популярностью питона. Кстати, ещё не так давно было модно клепать гуйню на Perl/Tk. Получалось жуткое говнище что внутри, что снаружи. Потому ни одной публичной программы на этой, с позволения сказать, платформе до наших дней не дожило. Наличия полезных Perl/GTK аппликаций тоже как то не наблюдается. Но зато очень часто приходится слышать, что перл - это для крутых пацанов, а питон - унылая попса для быдла. Правда столь же часто выясняется, что крутые пацаны - это сис.админы, «автоматизаторы бизнеса» или творческое небыдло с аллергией на мейнстрим. Ждать от этой публики полезного открытого кода конечно бессмысленно.

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

Извини, хлипкий студень это твоя аргументация. Хотя найти то что потенциально поломали в новой версии очень просто- читаешь What's new и всё. Да, иногда вносят изменения которые потенциально что-то могут сломать, процесс избавления от костылей иногда болезненен. Особенно страдает кривой код. Однако не столько ломают сколько ты пишешь.

Придирки к синтаксису это глупости. На вкус и цвет, как говориться.

Аппеляция к тиклю вообще бред. Вот уж его-то ломали будь здоров.

биндинги к gtk 2.14 хрен будут работать на новых версиях gtk.

Ставь биндинги соответствующих версий и всё.

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

> Три версии охватывают ~12 лет. и в основном сидят там из-за либ разработанных и непортированных на новые версии tcl.

И да, tcl великолепно обратносовместим.

Ага, великолепно. Всего лишь расширения на C несовместимы из-за различий в API, какая мелочь. Кому вот только упёрся твой тикль без этих расширений? Не забываем также, что тикль уже лет 5 как еле дышит, развивают его 2,5 человека - вон 8.6 уже два года не могут зарелизить. И живых приложений на тикле с гулькин нос. Поэтому и возникает иллюзия, что с тиклем никаких проблем. Конечно, нет программ - нет проблем.

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

> Ну дык, на перле и тикле гуёвых программ уже давно не делают

кто не делает ?
Глупости какие. Неужели для управления ACУ можно положится на qt или gtk ? Тут же продолжаются все детские гоцалки и погоня за прозрачностью. Скоро все переломают под мобильные приложения.

Только масштаб иной: популярность Tcl/Tk даже в самые лучшие времена не сравнить с нынешней популярностью питона.


Возможно.
Но, очевидно и другое:
Инвестиции в софт на питоне - это не долговечные и не надежные вложения. Хотя кто считает бесплатный труд и стоимость бесплатных программ ? Ерунда, можно все ломать и ломать - ответственности ноль и денег никто не платить за просмотр этого квеста.

Получалось жуткое говнище что внутри, что снаружи.


Это ваши проблемы, не можете писать код ? - не пишите.

Потому ни одной публичной программы на этой, с позволения сказать, платформе до наших дней не дожило. Наличия полезных Perl/GTK аппликаций тоже как то не наблюдается.


Звездеж:
$apt-rdepends -r perl-tk
Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
perl-tk
Reverse Зависит: cd-circleprint (0.7.0-3)
Reverse Зависит: clive-utils (>= 2.1.6-1)
Reverse Зависит: clusterssh (4.00.05-3)
Reverse Зависит: divxcomp (0.1-6)
Reverse Зависит: gpsdrive-scripts (2.10~pre4-6.dfsg-5)
Reverse Зависит: horae (>= 071~svn533-1)
Reverse Зависит: libconfig-model-tkui-perl (1.310-1)
Reverse Зависит: libdevel-ptkdb-perl (1.1091-2)
Reverse Зависит: libpoe-loop-tk-perl (>= 1.304-1)
Reverse Зависит: libtest-mockclass-perl (1.04-3)
Reverse Зависит: libtk-dirselect-perl (1.12-1)
Reverse Зависит: libtk-filedialog-perl (1.3-3)
Reverse Зависит: libtk-gbarr-perl (2.08-1)
Reverse Зависит: libtk-histentry-perl (0.43-2)
Reverse Зависит: libtk-objscanner-perl (2.012-2)
Reverse Зависит: libtk-pod-perl (0.9939-1)
Reverse Зависит: libtk-splashscreen-perl (1.0-3)
Reverse Зависит: libtk-tablematrix-perl (>= 1.23-5+b1)
Reverse Зависит: mapivi (>= 0.9.7-1)
Reverse Зависит: melting-gui (4.3c-1)
Reverse Зависит: mgm (1.1.svn.20080520-1)
Reverse Зависит: perlprimer (1.1.19-1)
Reverse Зависит: pilot-manager (1.107.0pre108-5)
Reverse Зависит: smtm (>= 1.6.10)
Reverse Зависит: tkmib (5.4.3~dfsg-1)
Reverse Зависит: tkvnc (0.6-10)
Reverse Зависит: vigor (0.016-15)
Reverse Зависит: wapua (0.06.1-2)
Reverse Зависит: xmltv-gui (0.5.57-3)


Правда столь же часто выясняется, что крутые пацаны - это сис.админы, «автоматизаторы бизнеса» или творческое небыдло с аллергией на мейнстрим.

Ждать от этой публики полезного открытого кода конечно бессмысленно.



Не надо туфту гнать.
Линукс и так потерял свой основной и привлекательный козырь как стабильная платформа. И превращается в обобщенный арчик для скучающих школьников.
При возрастающей сложности систем, надо избавляться от нестабильных компонентов или избавляться от платформы с нестабильными компонентами.
А быть пожизненным объектом для прокачки чьих-то скиллов ( и институтских навыков для трудоустройства ) уж как-то нет никакого желания.














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

> Прекрасно работает, что вы с ним делали?

установил и запустил

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

> Звездеж: $apt-rdepends -r perl-tk

Ого-го! Аж с десяток никому не известных программ с подозрительными номерами версий во всём дебиане. Да ты меня просто уел :)

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

> Глупости какие. Неужели для управления ACУ можно положится на qt или gtk

Тут я спорить не буду. Действительно Tcl/Tk много где используется во внутренней кухне. Только это не отменяет его клиническую смерть с точки зрения рядового пользователя линуксовых дистрибутивов. Поэтому и проблем с ним нет, не то что с этим противным пистоном.

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