Biblioteka Pythona | Interfejsy Graficzne http://www.python.rk.edu.pl/ Serwis poświęcony Pythonowi - wszechstronnemu językowi programistycznemu. Podstawy i kurs Pythona, Django, PyQt4. pl Biblioteka Pythona | Interfejsy Graficzne http://www.python.rk.edu.pl/site_media/layout/tux.png http://www.python.rk.edu.pl/ 132 124 http://www.python.rk.edu.pl/w/p/tryton-platforma-aplikacji-biznesowych-ma-sie-dobrze/ http://www.python.rk.edu.pl/w/p/tryton-platforma-aplikacji-biznesowych-ma-sie-dobrze/ <![CDATA[Tryton - platforma aplikacji biznesowych ma się dobrze]]> Trytonie pisałem już nieco wcześniej. Projekt nadal się rozwija i ma się całkiem dobrze. Korzystając z gotowych pakietów w Linux Mint/Ubuntu postanowiłem sprawdzić jak to teraz wygląda. Po instalacji uruchomiłem klienta Trytona ulokowanego w menu z aplikacjami biurowymi (jest to aplikacja działająca na zasadzie klient-serwer) i skorzystałem z testowego serwera:
tryton2.png
Aplikacja posiada szereg modułów, od kalendarza, listy zadań, aż po modułu fakturowania. Trudno mi określić przydatność tej aplikacji dla osób używających tego typu aplikacji, ale kombajn wygląda na poważnie rozbudowany:
tryton4.png
Serwer Trytona wykorzystuje bazę PostgreSQL, a cała aplikacja wykorzystuje PyGTK+ i dostępna jest pod różne systemy operacyjne.]]>
2010-06-01 00:41:36.166864
http://www.python.rk.edu.pl/w/p/pyobjc-i-cocoa-kontra-pyqt4/ http://www.python.rk.edu.pl/w/p/pyobjc-i-cocoa-kontra-pyqt4/ <![CDATA[PyObjC i Cocoa kontra PyQt4]]> pyxcode.png
  • Brak dobrej i czytelnej dokumentacji dla PyObjC, brak prostego tutoriala wprowadzającego w tworzenie prostej aplikacji z GUI i obsługę dostępnych narzędzi. Istnieje wprawdzie tutorial An Epic Introduction to PyObjC and Cocoa, ale to praktycznie jedyny aktualny tutorial, którego autor zakłada że znamy mniej lub bardziej biblioteki i narzędzia Leoparda. Generalnie trzeba siedzieć z dokumentacją do Objective-C i "przekładać" to na Pythona samemu.
  • Jak sam projekt się określa, PyObjC to "most" pomiędzy Objective-C a Pythonem, przez co kod w Pythonie wygląda czasami dziwnie. Np. wywołania metod Objective-C z Pythona:
    def dragImageForRowsWithIndexes_tableColumns_event_offset_(self,dragRows,tableColumns,dragEvent,dragImageOffset):
     pass
    
  • Stworzona aplikacja będzie działać tylko na jednej platformie.
  • Bazując na swoich odczuciach i opiniach z różnych blogów - PyObjC jest "zrozumiały i przyjemny" dla programistów znających architekturę i biblioteki OS X. Nie potrafią przyswoić generalnie tworzenia GUI w stylu PyQt4/PyGTK+. Programiści przychodzący z zewnątrz mają na odwrót - nie mogą ogarnąć PyObjC :)
Można spokojnie tworzyć aplikacje np. w PyQt4, które będą działały na wszystkich obsługiwanych przez tą bibliotekę systemach operacyjnych, jednakże trzeba stworzoną aplikację przetestować i dość często dopasować pod dany system operacyjny.]]>
2009-06-14 15:27:43.244074
http://www.python.rk.edu.pl/w/p/odczytywanie-mime-i-metainformacji-plikow/ http://www.python.rk.edu.pl/w/p/odczytywanie-mime-i-metainformacji-plikow/ <![CDATA[Odczytywanie mime i metainformacji plików]]> 2008-12-12 10:18:27.662442 http://www.python.rk.edu.pl/w/p/pygtk/ http://www.python.rk.edu.pl/w/p/pygtk/ <![CDATA[PyGTK]]> 2008-12-05 11:24:06.037717 http://www.python.rk.edu.pl/w/p/pyqt/ http://www.python.rk.edu.pl/w/p/pyqt/ <![CDATA[PyQt]]> 2008-12-05 11:05:24.988324 http://www.python.rk.edu.pl/w/p/tryton/ http://www.python.rk.edu.pl/w/p/tryton/ <![CDATA[Tryton - framework desktopowych aplikacji biznesowych]]> Trytona. Podobnie jak Dabo jest to framework biznesowy aplikacji desktopowych oparty o PyGTK. Z dostępnych zrzutów ekranu widać iż projekt ten bardziej skupiony jest na generowaniu raportów i zestawień z dostępnych danych (postgresql). Użycie PyGTK zamiast wxPythona daje dostęp do większej kolekcji widgetów oraz bardziej natywny wygląd aplikacji, oraz możliwość łatwej integracji z np. GNOME.]]> 2008-12-01 13:18:29.595179 http://www.python.rk.edu.pl/w/p/pyxdg-obsluga-standardow-freedesktoporg/ http://www.python.rk.edu.pl/w/p/pyxdg-obsluga-standardow-freedesktoporg/ <![CDATA[pyxdg - obsługa standardów freedesktop.org]]> 2008-11-29 23:12:36.533113 http://www.python.rk.edu.pl/w/p/dabo-framework-aplikacji-desktopowych/ http://www.python.rk.edu.pl/w/p/dabo-framework-aplikacji-desktopowych/ <![CDATA[Dabo - Framework aplikacji desktopowych]]> Dabo to framework aplikacji desktopowych oparty o wxPython. Aplikacje tworzone za jego pomocą można uruchamiać pod Linuksem, Mac OS X, jak i MS Windows. Framework oferuje "biznesowe" podejście do tworzenia aplikacji - bardzo łatwo tworzyć aplikacje zintegrowane z bazą danych i oferujących bogaty interfejs do zgromadzonych danych. Mimo iż strona może nie zachęcać swoją aktywnością, to na liście dyskusyjnej, czy bugtracku dzieje się sporo, a w sieci też niemało jest wiadomości dotyczących tego projektu. Wygląda więc na godnego uwagi.

wxPython, wxWidgets może nie zbierają najlepszych opinii jako Pythonowa biblioteka od interfejsów graficznych, lecz żadna z dostępnych bibliotek (PyGTK, PyQt4 itd.) nie oferuje jak na razie frameworka, lub jasnych i funkcjonalnych wzorców tworzenia aplikacji. Bo jak np. zaimplementować system wtyczek obsługujących różne "URLe", jak w Konquerorze KPart/KIO ? Gotowych odpowiedzi na to nie ma... Czy potrzebne są frameworki do tworzenia aplikacji desktopowych? Na pewno bardzo by ułatwiły korzystanie z tak rozbudowanych bibliotek. Z drugiej strony wieloplatformową aplikacją operującą na danych zawartych w bazie danych, czy też obsługującą konfigurację systemu operacyjnego może być ta stworzona za pomocą Django, czy Pylons (są już nieduże projekty tego typu).

]]>
2008-11-24 22:09:58.758786
http://www.python.rk.edu.pl/w/p/pyqt4-dodatkowe-widzety/ http://www.python.rk.edu.pl/w/p/pyqt4-dodatkowe-widzety/ <![CDATA[PyQt4 dodatkowe widżety]]> pyqt4-extrawidgets zbierający moje nakładki na widżety Qt4 dla PyQt4. Obecnie dostępna jest jedna - qtermwidget, ale niebawem pojawią się kolejne :)]]> 2008-11-07 10:35:49.731660 http://www.python.rk.edu.pl/w/p/nie-ma-jak-brak-dokumentacji/ http://www.python.rk.edu.pl/w/p/nie-ma-jak-brak-dokumentacji/ <![CDATA[Nie ma to jak brak dokumentacji... ale działa]]> Dzisiaj zabrałem się za SIP - narzędzie do budowania pythonowego API z kodu C/C++ używanego przez PyQt4. Na starcie można odrzucić SIPa dla kodu nie związanego z Qt4, gdyż nie ma sensu stosowania tak dość złożonego narzędzia mając alternatywę w postaci Boost-Python.

Dokumentacja na stronie riverbank istnieje, ale dotyczy Qt3, a same przykłady są wirtualne - dano tylko część kodu i nie można z nich wycisnąć działających modułów Pythona. Obecnie twórca SIP/PyQt4 wszystkie problemy rozwiązuje odpowiedzią "popatrz na źródła Python-QScintilla", co jest jak uczenie się API Qt przeglądając kdelibs - "jakiś kod jest i nawet działa".

Edycja: nawet działa, czas to opisać :)

Googlając z dwie godziny i kombinując udało mi się nawet skonfigurować i skompilować moduł dla QtermWidget z qt-apps.org, ale jeszcze nie działa (albo trzeba go jakoś dziwnie użyć) ;) Jeżeli nie uda się tego załatwić trzeba będzie pomyśleć o alternatywach - Qt C++, albo i PyGTK+/GNOME. Qt jest wyczesaną biblioteką, ale C++ nie jest dżezi jak Python :D PyGTK+ nie jest złe, do tego w Pythonie mam dostęp do VTE (widżet terminala) i do WebKita też się znajdzie. Do tego GNOME jest bardzo przyjazne, ma duże pythonowe API, jak i możliwość tworzenia pythonowych wtyczek do gedit, epiphany i połowy pozostałych aplikacji ;) wxPythona, Tk_intera i inne małe projekty odrzucam.

Zastanawiam się też czy gtkmozembed pociągnąłby Firebuga ;) Gdyby tak, to PyGTK+ dostałoby dużego plusa dla mojego małego projektu...

]]>
2008-11-02 17:23:37.521808