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/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
http://www.python.rk.edu.pl/w/p/plazmoidy-kde4-takze-w-pythonie/ http://www.python.rk.edu.pl/w/p/plazmoidy-kde4-takze-w-pythonie/ <![CDATA[Plazmoidy KDE4 także w Pythonie :)]]> swoim blogi Aaron Seigo w repozytorium rozwojowej wersji KDE4 pojawiło się wstępne wsparcie dla plazmoidów pisanych w Pythonie. Można spodziewać się że funkcjonalność ta pojawi się w KDE 4.2. Oprócz plazmoidów można także w Pythonie tworzyć widżety SuperKaramby, choć w KDE4 jej rola została jak na razie ograniczona.]]> 2008-10-14 09:25:56.417423