2010-09-24 14 views
6

Zajmuję się tworzeniem aplikacji python, używając Pythona i sqlite oraz GUI do odtworzenia aplikacji generującej raporty programu Access 2007. Ponieważ aplikacja jest przenośna, szukam rozwiązania GUI dla Pythona, którego użytkownik nie musi instalować dodatkowych rzeczy przed użyciem aplikacji.Interfejs graficzny języka Python dla aplikacji przenośnej

Czy istnieje rozwiązanie GUI odpowiadające mojej potrzebie? Dzięki!

Odpowiedz

4

wxPython jest bardzo przenośny

+2

Podobnie są tkinter, PyGTK i PyQt. – delnan

+0

Tak, ale wxPython jest również zabawne. ;) – FogleBird

+0

wxPython nie może zostać zainstalowany przez menedżera pakietów Fink na Mac OS X, wierzę, ze względu na problemy techniczne: wxPython jest obecnie mniej przenośny niż PyQt. – EOL

8

Jedynym w pełni przenośny GUI dla Pythona jest średnia tkinter, jeśli nie chcesz wszelkie dodatkowe zainstalować obok Pythonie. Wersja Themed Tk jest całkiem ładna, w porównaniu do starszej wersji Tk (wersja tematyczna dostępna jest przez moduł ttk).

Kilka tygodni temu musiałem odpowiedzieć na to samo pytanie, co Ty. Doszedłem do wniosku, że PyQt jest obecnie najlepszym wyborem dla nowoczesnego, mocnego, dobrze utrzymanego i przenośnego GUI, głównie z powodu pewnych wad jego głównego pretendenta (wxPython, patrz poniżej). (Tk i wrażeń Tk byłaby dobra dla prostszych potrzeb.)

Dwa słowa ostrzeżenia przed wxPython: to nie jest możliwe, aby go zainstalować za pośrednictwem popularnego Fink menadżera pakietów w systemie Mac OS X, obecnie, co czyni go znacznie mniej przenośny niż PyQt i TkInter; nie jest to również kompatybilny z Pythonem 3, o ile wiem.

PS (grudzień 2012): PySide jest obecnie silną alternatywą dla PyQt. Istnieje kilka pytań dotyczących Stackoverflow dotyczących odpowiednich zalet tych dwóch wiązań Pythona.

+0

, nie oznacza w tym przypadku znaczenia. tkinter jest domyślnie obecny w oficjalnej, standardowej bibliotece standardowej. Jednak wiele popularnych dystrybucji Linuksa (zwłaszcza Ubuntu), wyciąć bibliotekę i zainstalować ją tylko wtedy, gdy użytkownik prosi o nią lub coś, co jest od niej zależne. – SingleNegationElimination

+0

@TokenMacGuy: Interesujące informacje. Dziękuję za podzielenie się! – EOL