Glade veya hiç glade: pygtk kullanmanın en iyi yolu nedir?

oy
30

Bazı başarı ile bir süredir piton öğrendim. Hatta pygtk + Glade kullanarak bir veya iki (basit) programları oluşturmak başardı.

şeydir: Python ile GTK kullanmanın en iyi yolu Glade kullanarak arabirimleri inşa ederek olup olmadığından emin değilim.

Bizim (Sadece acemiyim, unutmayın) arasında daha tecrübeli olanları fayda ve kendisini kodu şeyi yaratan aksine Glade kullanmanın uyarılar işaret olabilir acaba (varsayarak doğru gtk bağlamaları öğrenme olmaz o tam olarak) bir sorun.

Oluştur 07/09/2008 saat 05:00
kaynak kullanıcı
Diğer dillerde...                            


11 cevaplar

oy
12

yerine Glade'den Kullanımı GtkBuilder, bu Gtk kendisi yerine ayrı bir kütüphane entegre edilmiştir.

Glade'den ana yararı da arayüz oluşturmak çok daha kolay, çok olmasıdır. Bu sinyal işleyici bağlamak için biraz daha fazla iş, ama o sorunlara kadar hissetmemiştim.

Cevap 07/09/2008 saat 05:20
kaynak kullanıcı

oy
20

Eğer Glade'i kullanarak istediğiniz uygulamaları oluşturmak veya bu kesinlikle iyi daha yapmak gerekir ki bulursan: Ben bağlı olduğunu söyleyebilirim. Aslında GTK işleri veya size bazı standart dışı UI gereksinimleri vardır öğrenmek istiyorum ancak Eğer varsa (o kadar karışık değildir) GTK iç yapıları içine kazmak.

Ben Glade veya bir tasarımcı sayesinde basitçe imkansız bazı özelliğini veya özelleştirme gerektiğinde Şahsen ben genellikle zengin istemci içine yaklaşık 5 dakika değilim Stetic . Belki de sadece benim. Bana bir grafik aracını kullanarak pencere tasarım bootstrap için Yine yine yararlıdır.

Benim öneri: GTK işinizin önemli bir parçası olacak kullanarak zengin müşterilerine yapma eğer beri / hobi daha sonra hem GTK öğrenmek edecek bir gün o kod yazmak gerekir.

Ben şahsen bulmak PS Stetic eğer biraz daha kararsız, tasarım çalışmaları için Glade için üstün olduğu.

Cevap 07/09/2008 saat 21:09
kaynak kullanıcı

oy
5

Glade arayüzleri yaratmak için çok kullanışlı olmasına rağmen kolayca çok kodlama yapmadan GUI değiştirebilir gelir. pratikte iyi bir öğretici / örnekler bulma - Sen (örneğin bir ağaç oluşturmak) yararlı bir şey yapmak istiyorsanız GTK belgelerine çeşitli yerlerinde tanımak zorunda kalacak olduğunu göreceksiniz.

Cevap 10/09/2008 saat 16:04
kaynak kullanıcı

oy
5

Ben glade kullanarak başladı, ama yakında sadece kodda her şeyi yapıyor taşındı. Glade basit şeyler için güzel olduğunu ve GTK (şeylerin paketlenmiş nasıl, vs) widget organize öğrenme yaparken iyidir. kodunda her şeyi Oluşturma Ancak, çok daha fazla esnekliğe sahip. Ayrıca, glade bağımlılığını yok.

Cevap 20/09/2008 saat 04:04
kaynak kullanıcı

oy
4

Ben bir sihirbaz oluşturma bana yetiyor özelliklere sahip olmayan bir noktaya, örneğin gelene kadar ben genellikle Glade ile başlar. Sürece Glade sağlar standart widget'lar kullanıyorum olarak, GUI-kodu el için hiçbir neden gerçekten yok.

daha rahat ben Glade kodu, daha iyi elim-kodlama olur biçimleri nasıl olur. Değil bu size hakkında tüm başlatmalarını endişelenmenize gerek kalmaz yatan çerçeve yapmak için Glade kullanmak gerçek kolaydır, söz.

Cevap 20/09/2008 saat 12:40
kaynak kullanıcı

oy
1

hızlı ve basit ekranlar için ben Glade'i kullanın. (Genellemeler ile kendinden geçmek için çok kolay olduğundan, bu önemlidir) Ama kontrolden daha ince seviyeleri ihtiyacı şey için, ben aslında ne gerek için özel sınıflar oluşturmak.

Sıska uygulamalar belirli sınıflar ile, hızla görünümünü değiştirebilirsiniz ve tek bir yerden geniş bir uygulama alanına hissediyorum. Aksine web siteleri için tutarlılık mantain CSS kullanarak gibi.

Cevap 13/10/2008 saat 23:02
kaynak kullanıcı

oy
2

Ben öğrenmek için hızla gelişmesi için Glade kullanarak değil öneririz. Niye ya? Bazı zamanlarda çünkü onlar çalışmak istediğiniz olarak çalışmak üzere maçına hazırlanmak için bazı widget gerekir ve eğer gerçekten bilmiyorsanız / o zaman sorun olacaktır her widget niteliklerini özelliklerini anlayacaktır.

Cevap 20/11/2008 saat 16:33
kaynak kullanıcı

oy
4

Eğer ben şahsen Glade + Kiwi (GTK + GUI uygulamaları oluşturmak için bir kolaylık çerçevesi) ile gider GTK + (düğmeler, etiketler, konteynerler vb) standart bileşenlerin bir sürü yeniden kullanır geleneksel GUI uygulaması yazıyorsanız.

Glade'i kullanarak tek en büyük avantajı büyük ölçüde düzen / paketleme kodunu azaltmasıdır. İşte zaten manuel (herhangi bir yardımcı işlev kullanmadan) bir GUI dışarı atarken ile sorunları gösteren son derece basit örnek:

container = gtk.HBox()
label = gtk.Label(str="test")
container.add(label)

Daha fazla örnek için bir almak burada göz . Eğer karmaşık bir özel bir widget yazıyoruz bile her zaman Glade'de bir yer tutucu oluşturmak ve örnekleme sonra bu yerini alabilir.

Glade ekibi tasarımcısı (3.6.0) yeni bir sürüm için Şimdi her çok uzun olmamalıdır. Bu yeni sürüm Libglade değiştirir GtkBuilder, (bir widget ağaca Glade XML dosyalarını dönüştüren fiili kütüphanesinden) desteğini katacak. Yeni Glade tasarımcı da bir kez daha Python kataloglar (widget setleri) tanımlamak için destek ekler, böylece kolayca kendi özel widget'lar ekleyebilirsiniz.

Cevap 07/02/2009 saat 22:19
kaynak kullanıcı

oy
1

Şahsen ben bunu kodlama yerine Glade kullanarak öneriyoruz. Hala piton ve pygtk öğreniyorum ama elle UI dışarı yazma Bana bu işlerin başlık altında çalışmak nasıl çok miktarda bilgi verdi diyecekler.

Bunu öğrendim sahip olduktan sonra ben glade veya başka UI tasarımcıları denemeye demek ama kesinlikle ilk "sert" bir şekilde nasıl yapılacağını öğrenmek istiyorum.

Cevap 15/04/2009 saat 14:32
kaynak kullanıcı

oy
1

İlk olarak, Bu perspektif koymak başlar.

Sen GTK kullanarak olacaktır. Bu 1970'ler kodlama tarzının en iyi geleneklerini kullanarak 1993 yılında inşa büyük bir C kütüphanesidir. Bu GIMP'i, bir Photoshop rakip uygulanmasına yardım etmeye inşa edildi wanna-be efsanenin kullanıcı arayüzü blunders ile. Tipik bir GUI alan Alıcılar ve ayarlayıcılar sahip çoğunlukla tekrarlayan kırk veya daha fazla parametre olduğunu varsayalım. Ağrı olacaktır.

GTK kendisi GObject kullanarak C tam bir dinamik tip sistemini yönetir. Bu elle örtülü miras ile jenerik argüman listelerinin tam yöntemlere işaretçiler diziler yürürken gerektiren özel bir sevinç ayıklama yapar. hiç beklemediğiniz zaman Ayrıca, sayfa küçük olduğunda bir etikette üç nokta nereye için Pango sabiti kullanılarak, örneğin, Pango kütüphaneleri aracılığıyla atlama edilecektir. daha fazla ağrı bekleyin.

Artık, muhtemelen uygulamaya özgü bir Model-View-Controller mimarisinde tüm GTK etkileşimleri sarmak için söz veriyorlar. Bu iyi.

Glade'i veya GtkBuilder veya Stetic kullanarak, bir işleve kırk parametrelerin büyük kavrama sorunu mercan yardımcı olacaktır. Glade sürüklemek ve birlikte bileşenleri düşmesi temel bir GUI oluşturucu sağlar. parametreleri ve kalıtsal parametreler biraz üzerinden ayrılır. Glade'den çıktısı o zaman o pygtk kullanmak widget almak için o XML bellek içi sürümünü, okumak aynı işlevlere adında için ( "sinyal işleyici") senin geri çağrıları eklemek ve sorgu veya güncellenir hangi .glade XML dosyası olduğunu işlemek için. Glade kendisi gıcırtılı ve de yapılmaktadır.

pygtk kullanma GUI inşa etmek için size rahatsız edici ince taneli kontrol sağlar. Bu ayrıntılı kopya-yapıştır kodu olacaktır. Her özellik, ayrı bir işlev çağrısı olacaktır. nitelik setter şey dönecektir, böylece aramaları zincirleme söz konusu olamaz etmez. Genellikle, IDE fonksiyonları ne anlama üzerine çok az yardım verecek ve sürekli DevHelp veya başka bir araç atıfta edilecektir.

Bir neredeyse GTK GUI başarısız amaçlanmış beklenebilir.

Cevap 27/01/2010 saat 18:45
kaynak kullanıcı

oy
-1

Sen tasarlamak için glade-2 kullanın ve kullanabilir glade2py.py saf pygtk kodu üretme nedeniyle, gtk3 desteklemek için pygtkcompat kullanmak

Cevap 27/06/2014 saat 11:09
kaynak kullanıcı

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more