2008-08-30 16 views
13

Linux'a bağlanmak istediğim büyük bir GUI projem var. Linux'ta GUI programlama için en çok önerilen çerçeve nedir? KDE/Gnome gibi çerçeveler bu amaç için kullanılabilir mi Yoksa X'den daha genel bir şey kullanmak daha mı iyidir?Linux GUI geliştirmesi

Gnome veya KDE'den birini seçtiğimde, bir tane diğerini seçmiş olan Linux pazarının bir parçasını pazara kapatıyorum. (Evet, çakışma olduğunu biliyorum)

Daha iyi bir yolu var mı? Ya da% 100 kapsama sahip olmak için 2 tam GUI uygulaması oluşturmam gerekir mi?

Win32 üzerinde de çalışacak bir çapraz platform çözümüne sahip olmak gerekli değildir.

cevap

15

En iyi seçiminiz, herhangi bir platform wxWidgets desteğine taşınabilirlik sağlayan wxWidgets gibi bir platformlar arası kitaplık kitaplığına aktarmak olabilir.

Ayrıca Gnome kütüphaneleri ve GTK ve KDE kütüphaneleri ve Qt arasındaki ayrım yapmak önemlidir. GTK veya Qt kullanmak için kod yazarsanız, XFCE gibi daha az popüler olanlar da dahil olmak üzere, herhangi bir masaüstü ortamı kullanıcıları için iyi çalışmalıdır. Widget ile ilgili olmayan görevleri yapmak için başka Gnome veya KDE'ye özgü kütüphaneler kullanıyorsanız, uygulamanız masaüstü ortamları arasında daha az taşınabilir olacaktır.

+0

GUI'leri uygulamak için wxPython'u kullandım. Her iki Python & wxWidgets, tüm ana platformlarda taşınabilirdir ve wxWidgets uygulamaları "native" ile görünür. Görünüşe göre (hiç denemedim) PY2EXE wxPython ile çalışır. – CyberFonic

+0

2 yıl, OP ile aynı sorunla karşı karşıyayım; Bu okuduğum ilk makul açık cevap. Bu arada bir şey değişti mi? – slashmais

4

Gnome uygulamaları KDE masaüstü bilgisayarlarda çalışır ve bunun tersi; kimseyi kilitlemeyeceksin. Araç setleri gittikçe, oldukça özneldir. Tüm araç takımları oldukça çapraz platformdur. Açık kaynak değilseniz, GTK + LGPL'dir, QT sadece açık kaynak kullanımı için ücretsizdir, GTK + ise LGPL'dir.

+5

Güncelleme: günümüzde ayrıca Qt LGPL'dir: http://www.qtsoftware.com/about/licensing/frequently-asked-questions – Jonik

+0

Gerçekten. Önceki duruma göre büyük bir gelişme. – Bernard

0

Mono'yu kullanmayı düşündünüz mü? Paint.NET gibi programlar Linux & Windows altında harika çalışır.

5

wxWidgets veya Qt'u öneririm. Onlar iyi dokümantasyon ve örnek kaynak kodu ile, hem olgun, iyi yapılandırılmış ve çapraz platform vardır.