2010-09-15 14 views
5

Python, many GUI toolkits hizmetine sahiptir. Doğru olarak anlarsam, bu araç takımları genellikle kendi araçlarını oluşturma sorumluluğunu üstlenirler (işletim sistemine güvenmek yerine). Bu, tam olarak yerli eşleri gibi görünmeyen, hissetmeyen ve davranmayan widget'lara sahip olma maliyetine çapraz platform desteği sağlar. Python'un çapraz platform ve her sistemin yerel widget'larından yararlanan bir GUI araç takımı var mı?Python, yerel widget'ları kullanan çapraz platformlu bir GUI araç setine sahip mi?

Lucid

Maalesef bu kütüphane kayboldu gibi görünüyor:

GUI Programming in Python göre, en az iki aday var. Artık bağlantı "elektronik ve robotik geliştirme için bileşenleri ve cihazları tasarlayan ve dağıtan" (???) bir şirket olan Icy Labs adresine yönlendiriyor.

PySWT

Bu

(Zaten aşina değilim) Java için SWT kütüphanenin bir liman. Bu kitaplık , Python gibi hissetmiyor (örneğin, Java'da yaygın olan set* ve get* yöntemlerini korur). Bu nedenle, ihtiyaçlarımı karşılayan daha yetkili bir kütüphanenin olup olmadığını merak ediyorum.

cevap

5

wxWidgets bir seçenek midir? Bildiğim kadarıyla, işletim sistemi ne olursa olsun, windows üzerinde win32, Linux'ta gtk ve sanırım Aqua on OSX ile entegre oluyor.

+0

Bu kütüphane çok umut verici görünüyor! [İlk örnek programlardan biri] (http://wiki.wxpython.org/Getting%20Started#Adding_a_menu_bar) bile [SWT ile bilinen bir eksiklik] üstesinden gelir (http://stackoverflow.com/q/2117057/41619)! –

+0

@Adam wx oldukça iyi, ancak hala etrafında uyumluluk sorunları var. Bunun için testler olduğu sürece problemler olmamalı. –

+0

@Dana the Sane: Bu uyumluluk sorunlarını nereden öğrenebilirim? –

4

Peki ya Qt?

Ve bu paketleyici, PyQt? http://en.wikipedia.org/wiki/PyQt

Qt çoğu için yerel görünüyor. Yerli widget'ları özel olarak kullanan ve yine de platformlar arası bir çapraz platform aracı bulacağınızı düşünmüyorum. Bu hedefler bir dereceye kadar birbirinden bağımsızdır.

+1

Qt bir [widget galerisi] (http://doc.trolltech.com/4.6/gallery.html) var, bu yüzden eğer Qt yeterli görünüyorsa, kendisinin karar vermesini ister. Ayrıca, KDE4 stilinin orada olmadığına dikkat edeceğim. – jonescb

+0

Öneri için teşekkürler. Qt'yi çoktan biliyordum, ama doğal bir görünüm ve his için daha da yakın bir şey arıyordum (Qt uygulamaları genellikle bana "farklı" geliyordu). Hedeflerin karşılıklı olarak birbirinden ayrı göründüğüne katılıyorum, bu yüzden ne demek istediğimi açıklığa kavuşturmalıyım. Platformun böyle bir widget'ına sahip olmadığı sürece, SWT'nin zihninden, herşeyi doğal olarak üretmeye çalışan düşünce tarzını düşünüyordum. Bu durumda, SWT, widget'ın kendisini bu platformda oluşturmaya geri döner. –

+0

Sadece Wikipedia'da fark ettim (Qt'nin son sürümleri Qt kontrollerini çizmek için farklı platformların yerel API'lerini kullanmaktadır ve bu nedenle bu tür sorunlardan çekilmemektedir) [http://en.wikipedia.org/wiki/Qt_ (çerçeve) # Use_of_native_UI-rendering_APIs]. Bu nedenle, bununla ilgili yanıldım. Başka bir görünüm vermek zorundayım. –

3

pyside LGPL bağlantıları qt. Ayrıca GPL olan veya kapalı kaynak kullanımı için ödenen PyQt'un da olduğuna dikkat edin.

+0

Öneri için teşekkürler! Bununla birlikte, gerçekten yerli bir şeyi tercih ederim (Qt, onu taklit etmek için cesurca bir girişimde bulunsa da). Wikipedia'ye göre: –

+0

: Qt, tasarlanan platformların doğal görünümünü taklit etmek için kullanılırdı; bu, zaman zaman bu emülasyonun kusurlu olmadığı bazı ufak tutarsızlıklara yol açtı. Qt'nin son sürümleri, Qt denetimlerini çizmek için farklı platformların yerel API'lerini kullanır ve bu nedenle bu tür sorunlardan etkilenmez. – stonemetal

+0

Bu yorum için teşekkürler! Ayrıca bu yorumu da gördüm. Qt'ye başka bir göz atmak zorunda kalacağım. –

0

Son zamanlarda Toga buldum. Yeni olduğunu düşünün, hala birçok yerel widget eksik ama almak için oldukça kolaydır.