SORU
6 ŞUBAT 2009, Cuma


Çapraz platform Python uygulamaları dağıtmak için guı toolkit

Bina üzerinde: http://www.reddit.com/r/Python/comments/7v5ra/whats_your_favorite_gui_toolkit_and_why/

Yararları:

1 - tasarım / entegrasyon kolaylığı öğrenme eğrisi

2 - *nix durumu / Destek, Windows, yerli l Mac için ekstra puan&f, cep telefonu ya da web desteği

3 - pythonic API

4 - Dokümantasyon kalitesi - bir şey daha yapmak istiyorum, şimdi ne karışık?

5 - tam bir yükleyici (ideal olarak-çalışma ve MBs dosya bir sürü oluşturmak değil py2exe, py2app) eklemek gerekli değil çok hafif ambalaj

6 - lisans

7 - Diğerleri? (belirtin) < / ^ hr .

Adaylar:

1 - şu anda desteklenen olarak tkinter, (2.6, 3.0 gibi)

2 - pyttk kütüphane

3 - pyGTK

4 - pyQt

5 - wxPython

6 - HTML-CGI Python tabanlı (,, web.py Django Turbogears Dikmesi...) çerçeve ya da Yapıştırın)

7 - Diğerleri? (belirtin)

CEVAP
6 ŞUBAT 2009, Cuma


Lütfen bu cevabı genişletmek için tereddüt etmeyin.

Tkinter

Tkinter python ile birlikte gelen araç. Zaten bir GUI yazmak için ihtiyacınız olan her şey var demektir. Bu da ne demek eğer programı dağıtmak isterseniz, büyük olasılıkla herkes programınızı çalıştırmak için ihtiyaçları olan şey zaten vardır.

Tkinter olgun ve istikrarlı, ve (en azından tartışmalı) kullanmak oldukça kolay.Bu wxPython daha kullanımı daha kolay buldum, ama belli ki biraz öznel bir şey.

Tkinter alır tarih çirkin ve Bakan için kötü bir rap. Kolay Tkinter ile çirkin GUI oluşturmak için bu doğru olsa da, aynı zamanda oldukça kolay güzel görünümlü GUI oluşturmak için. Tkinter elini tutmak değil, ama çok bu şekilde, ya da almaz. Tkinter yerel widget var kullandığından Mac ve Windows üzerinde iyi görünüyor, ama linux üzerinde de iyi görünüyor.

Tkinter bakmak hakkında diğer nokta, çoğunlukla, bak insanlar yapmak o kadar önemli değildir. Çoğu uygulama Tkinter, wxPython, PyQT, vb gibi araçlar ile yazılmış özel amaçlı uygulamaları vardır. Uygulama tipi için bu araç için koz görünüyor kullanılabilirlik kullanılır. Eğer uygulama görünümünü önemli ise, yeterince kolay Tkinter uygulaması temizler.

Tkinter diğer araç takımları eşleşen yakın gelme bazı özellikleri vardır. Değişken izleri, yazı tipleri adlı (düzen) yöneticileri, işlemler ve olaylar hala diğer takımları yargılanmalıdır standart Tkinter yol geometrisi.

Kötü tarafı, Tkinter python içinde çalışan TCK bir tercüman etrafında sarıcı. Bu herkes Tkinter ile geliştirmek için çoğunlukla görünmez, ama bazen bu mimari ortaya çıkaran hata iletileri oluşur. Bir hata bir adı gibi bir widget şikayet alacaksın ".1245485.67345" da aşina değilseniz herkes için neredeyse hiçbir anlam ifade edecek nasıl/tk çalışır TCK.

Başka bir dezavantajı Tkinter wxPython olarak önceden oluşturulmuş gibi birçok widget yok. Tkinter hiyerarşik ağaç widget biraz zayıf, örneğin, ve yerleşik tablo widget yok. Öte yandan, Tkinter canvas ve metin widget son derece güçlü ve kullanımı kolay. Yazacaksınız uygulamalarının çoğu türleri için, ancak, ihtiyacınız olan her şeye sahip olacaksın. Sadece Microsoft Word çoğaltmak ya da Tkinter ile Photoshop için beklemeyin.

Lisans Tkinter için ne olduğunu bilmiyorum, bir bütün olarak python için aynı sanırım. TCK/tk BSD tarzı bir lisans vardır.

PyQt

Qt, C çerçeve en son sürüm. Oldukça gelişmiş ve uygulamalar tasarlamak için Qt Designer gibi bazı iyi araçlar var. Python gibi 100%, ama yakın hissetmediğim ama farkında olmalısın. documentation mükemmel

Bu çerçeve gerçekten çok iyi. Aktif olarak Nokia ait olan Trolltech tarafından geliştirilmektedir. Python bağlantıları Nehir tarafından geliştirilmiştir.

PyQt GPL lisansı veya ticari bir altında kullanılabilir. Nehir PyQt lisans fiyatı yaklaşık 400 euro geliştiricisi.

Qt GUI-çerçeve sadece bir değil, bir uygulama oluşturmak olabilir de, diğer pek çok ders sadece Qt sınıfları kullanarak. (SQL, ağ, betik gibi, ...)

Qt her platformda GUI unsurları taklit etmek için kullanılan ama şimdi platformlarının yerli stilleri GUI araç takımları yerli olmasa da () kullanır: the documentation for Mac OS X the windows XP style

Ambalaj py2exe ya da pyİnstaller kadar basit. PyQt benim app içeriği windows (doğru kurulum için üstüne İnnoSetup kullandım): bu gibi görünüyor

pyticroque.exe           PyQt4.QtGui.pyd           unicodedata.pyd
MSVCP71.dll              PyQt4._qt.pyd             unins000.dat
MSVCR71.dll              python25.dll              unins000.exe
PyQt4.QtCore.pyd         sip.pyd                   _socket.pyd

QT Qt yazılım tasarımı yardımcı olmak için widget, bir tasarımcı ve hatta IDE son sürümleri ile birlikte geliyor.

PySide

PySide bir LGPL Qt için bağlayıcıdır. GPL PyQt için bir yedek olarak nokia tarafından geliştirilmiş değil.

Farklı bir dayanmasına rağmen mevcut daha teknoloji GPL lisanslı PyQt bağlamaları, PySide başlangıçta olmayı hedefliyor API uyumlu onlarla. Ayrıca PyQt uyumlu API, bir daha Pythonic API sağlanacaktır gelecek.

wxPython

wxPython Python için bir bağlama wxWidgets-Çerçeve kullanıyor. Bu çerçeve LGPL Lisansı altında, açık kaynak topluluğu tarafından geliştirilen.

Gerçekten neler kaçırdığımı arayüz tasarımı için iyi bir araçtır, yaklaşık 3 var ama hiçbiri kullanışlı.

Söylemem gereken bir şey sekme görünümü hiçbir şey kullanmadım olmasına rağmen gelişmiş bir hata buldum. (Sadece Mac OS X) bence wxWidgets Qt kadar parlak değil

wxPython GUI sınıfları, çok fazla bir şey yok sadece gerçekten.

işinize yarayacak yerli arayüz ögelerini kullanır.

WxPython Tkinter üzerinde bir avantaj wxPython hangi seçim için widget çok daha büyük bir kütüphane vardır.

Diğerleri

Diğer bir GUI çerçeve ile herhangi bir deneyimi yok, belki başka biri vardır.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • ChannelRichard

    ChannelRicha

    7 Kasım 2008
  • disneychannel

    disneychanne

    19 ŞUBAT 2006
  • thegeniuses.tv

    thegeniuses.

    11 Aralık 2006