2010-09-15 7 views
5

Python ma many GUI toolkits. Jeśli dobrze rozumiem, te zestawy narzędzi zazwyczaj biorą na siebie odpowiedzialność za renderowanie własnych widżetów (zamiast polegania na systemie operacyjnym). Pozwala to uzyskać obsługę wielu platform kosztem posiadania widżetów, które niekoniecznie wyglądają, czują się i zachowują dokładnie tak, jak ich macierzyste odpowiedniki. Czy Python ma zestaw narzędzi GUI, który jest międzyplatformowy , a wykorzystuje macierzyste widgety każdego systemu?Czy w Pythonie znajduje się wieloplatformowy zestaw narzędzi GUI wykorzystujący natywne widżety?

Według GUI Programming in Python, istnieją co najmniej dwóch kandydatów:

Lucid

Niestety, ta biblioteka wydaje się, że zniknął. Teraz link przekierowuje do Icy Labs, firmy, która "projektuje i dystrybuuje komponenty i urządzenia do elektroniki i robotyki" (???).

PySWT

Jest to port biblioteki SWT for Java (którego jestem już zna). Biblioteka ta nie jest podobna do Pythona (na przykład zachowuje metody set* i , które są typowe w Javie). Dlatego jestem ciekawy, czy istnieje bardziej wiarygodna biblioteka, która spełnia moje potrzeby.

Odpowiedz

5

Czy wxWidget jest opcją? O ile mi wiadomo, integruje się z tym, co ma do zaoferowania system operacyjny - win32 na windows, gtk na Linuxie i, jak sądzę, Aqua na OSX.

+0

Ta biblioteka wygląda bardzo obiecująco! [Jeden z pierwszych przykładowych programów] (http://wiki.wxpython.org/Getting%20Started#Adding_a_menu_bar) pokonuje nawet [znany brak jaki mam z SWT] (http://stackoverflow.com/q/2117057/41619)! –

+0

@Adam wx jest całkiem niezły, ale nadal występują problemy ze zgodnością. Dopóki istnieją na to testy, nie powinno być jednak problemów. –

+0

@ Dana the Sane: Gdzie mogę dowiedzieć się o tych problemach ze zgodnością? –

4

Co z Qt?

I to jest towarzyszące opakowanie, PyQt? http://en.wikipedia.org/wiki/PyQt

Qt w przeważającej części wygląda natywnie. Nie sądzę, że kiedykolwiek znajdziesz zestaw narzędzi na wielu platformach, który używa wyłącznie rodzimych widgetów i nadal będzie dostępny na wielu platformach. Cele te w pewnym stopniu wzajemnie się wykluczają.

+1

Qt ma [widget gallery] (http://doc.trolltech.com/4.6/gallery.html), więc osoba pytająca może sam zdecydować, czy Qt wygląda na wystarczająco natywny, co myślę, że robi. Ponadto zauważę, że stylu KDE4 nie ma. – jonescb

+0

Dzięki za rekomendację. Wiedziałem już o Qt, ale szukałem czegoś jeszcze bliższego natywnemu wyglądowi i odczuciu (aplikacje Qt zwykle były dla mnie "inne"). Zgadzam się, że cele wydają się nieco wzajemnie wykluczające, więc powinienem wyjaśnić, o co mi chodzi. Zastanawiałem się nad nastawieniem SWT, które usiłuje renderować wszystko natywnie, chyba że platforma nie ma takiego widgetu. W takim przypadku SWT cofa się do renderowania samego widgetu na tej platformie. –

+0

Właśnie zauważyłem na Wikipedii, że (ostatnie wersje Qt używają natywnych API różnych platform do rysowania kontrolek Qt, więc nie cierpią z powodu takich problemów) [http://en.wikipedia.org/wiki/Qt_ (framework) # Use_of_native_UI-rendering_APIs. Dlatego się myliłem. Będę musiał spojrzeć na to jeszcze raz. –

3

pyside LGPL wiązania dla qt. Uwaga: istnieje również PyQt, który jest objęty licencją GPL lub opłacony jest za korzystanie z zamkniętego źródła.

+0

Dzięki za rekomendację! Jednak wolałbym coś prawdziwie rodzimego (chociaż Qt czyni mężną próbę naśladowania go). :) –

+0

według Wikipedii: Qt używane do naśladowania rodzimego wyglądu planowanych platform, co czasami prowadziło do niewielkich rozbieżności, w których emulacja ta była niedoskonała. Najnowsze wersje Qt używają natywnych API różnych platform do rysowania kontrolek Qt, więc nie cierpią z powodu takich problemów. – stonemetal

+0

Dzięki za ten komentarz! Zauważyłem także ten komentarz. Będę musiał dać Qt inny wygląd. –

0

Ostatnio znalazłem Toga. Pomyśl, że jest nowy, wciąż brakuje wielu rodzimych widżetów, ale jest całkiem łatwy do odbioru.

Powiązane problemy