Glade eller ingen lysning: Hva er den beste måten å bruke PyGtk?

stemmer
30

Jeg har vært å lære python for en stund nå med en viss suksess. Jeg greide å lage en eller to (enkle) programmer som bruker PyGtk + Glade.

Saken er: Jeg er ikke sikker på om den beste måten å bruke GTK med python er ved å bygge grensesnittene hjelp Glade.

Jeg lurte på om de mer erfarne blant oss (husk, jeg er bare en nybegynner) kunne påpeke fordeler og begrensninger ved bruk av Glade i motsetning til å skape alt i selve koden (forutsatt at det å lære de riktige GTK bindingene ville ikke akkurat være et problem).

Publisert på 07/09/2008 klokken 04:00
kilden bruker
På andre språk...                            


11 svar

stemmer
20

Jeg vil si at det kommer an: Hvis du finner ut at du bruker Glade kan du bygge apper du ønsker eller trenger å gjøre enn det er helt greit. Men dersom du faktisk ønsker å lære hvordan GTK fungerer, eller du har noen ikke-standard UI krav du vil ha til å grave i GTK innvendige (som ikke er så komplisert).

Personlig er jeg vanligvis ca fem minutter inn i en rik klient når jeg trenger noen funksjon eller tilpasning som er rett og slett umulig gjennom en designer som Glade eller Stetic . Kanskje det er bare meg. Likevel er det fortsatt nyttig for meg å bootstrap vindu design ved hjelp av et grafisk verktøy.

Min anbefaling: Hvis gjør rike klienter som bruker GTK kommer til å bli en betydelig del av jobben din / hobby deretter lære GTK så godt siden du vil trenge for å skrive denne koden dag.

PS Jeg personlig synes Stetic å være bedre enn Glade for design arbeid, om en litt mer ustabil.

Svarte 07/09/2008 kl. 20:09
kilden bruker

stemmer
12

Bruk GtkBuilder stedet for Glade, er det integrert i Gtk seg selv i stedet for et eget bibliotek.

Den viktigste fordelen med Glade er at det er mye, mye enklere å lage grensesnittet. Det er litt mer arbeid å koble signalbehandlere, men jeg har aldri følt at saker mye.

Svarte 07/09/2008 kl. 04:20
kilden bruker

stemmer
5

Jeg begynte å bruke Glade, men snart flyttet til bare å gjøre alt i kode. Glade er fint for enkle ting, og det er bra når du lærer hvordan GTK organiserer widgets (hvordan ting er pakket, etc). Bygging av alt i kode, men har du mye mer fleksibilitet. Plus, trenger du ikke ha glade avhengighet.

Svarte 20/09/2008 kl. 03:04
kilden bruker

stemmer
5

Glade er svært nyttig for å lage grensesnitt, betyr det at du kan enkelt endre GUI uten å gjøre mye koding. Du vil finne at hvis du ønsker å gjøre noe nyttig (for eksempel bygge en treeview) må du bli kjent med ulike deler av GTK dokumentasjon - i praksis å finne en god tutorial / eksempler.

Svarte 10/09/2008 kl. 15:04
kilden bruker

stemmer
4

Hvis du skriver en tradisjonell GUI program som gjenbruker mye av standardkomponenter fra GTK + (knapper, etiketter, beholdere etc.) Jeg personlig ville gå med Glade + Kiwi (et praktisk rammeverk for å bygge GTK + GUI-applikasjoner).

Den største fordelen med å bruke Glade er at det i stor grad reduserer oppsett / pakking kode. Her er et ekstremt enkelt eksempel som allerede viser problemene med manuelt legge ut et GUI (uten bruk av hjelpefunksjoner):

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

For flere eksempler ta en titt her . Selv om du skriver en komplisert tilpasset widget kan du alltids lage en plassholder i Glade og erstatte det etter oppretting.

Det bør ikke være alt for lang tid nå for Glade team for å lansere en ny versjon av designer (3.6.0). Denne nye versjonen vil legge til støtte for GtkBuilder, som erstatter libglade (selve biblioteket som forvandler Glade XML-filer til en widget treet). Den nye Glade designer også nok en gang legger til støtte for å definere kataloger (sett med widgets) i Python, så du kan enkelt legge til dine egne widgets.

Svarte 07/02/2009 kl. 21:19
kilden bruker

stemmer
4

Jeg pleier å starte med Glade før jeg kommer til et punkt der det ikke har de funksjonene jeg trenger, for eksempel lage en veiviser. Så lenge jeg bruker standard widgets som Glade gir, det er egentlig ingen grunn til å hånd kode GUI.

Jo mer komfortabel blir jeg med hvordan Glade formaterer kode, jo bedre min hånd-koding blir. For ikke å nevne, det er virkelig enkelt å bruke Glade for å gjøre den underliggende rammeverket slik at du ikke trenger å bekymre deg om alle initializations.

Svarte 20/09/2008 kl. 11:40
kilden bruker

stemmer
2

Jeg anbefaler å bruke Glade for rask utvikling, men ikke for å lære. Hvorfor? fordi noen ganger trenger du å stille opp noen widgets for å fungere som de ønsker å arbeide, og hvis du ikke vet / forstår egenskapene attributter for hver widget vil du være i problemer.

Svarte 20/11/2008 kl. 15:33
kilden bruker

stemmer
1

Først begynner å sette dette i perspektiv.

Du skal bruke GTK. Dette er en stor C-bibliotek bygget i 1993 ved hjelp av de beste tradisjonene i 1970 koding stil. Den ble bygget for å gjennomføre GIMP, et Photoshop konkurrent wanna-be med brukergrensesnitt tabber av legenden. En typisk gui felt kan ha førti eller flere parametere, for det meste repeterende, ha getter og settere. Det vil være smerte.

GTK selv administrerer et komplett dynamisk type system i C ved hjelp av GObject. Dette gjør debugging en spesiell glede som krever manuelt gå gjennom matriser av pekere til metoder fulle av generiske argument lister med implisitt arv. Du vil også bli å hoppe gjennom Pango biblioteker når du minst venter det, for eksempel ved hjelp av en Pango konstant for hvor i en etikett på ellipse gå når siden er liten. Forvent mer smerte.

Nå er du sannsynligvis sverget på å pakke alle GTK-interaksjoner i en Model-View-Controller arkitektur spesifikt til søknaden din. Dette er bra.

Ved hjelp av Glade, eller gtkBuilder eller Stetic, vil bidra til korall den enorme koblings problemet med førti parametre til en funksjon. Glade gir en grunnleggende GUI byggmester å dra og slippe komponentene sammen. Parametrene og arvet parametere er noe skilt ut. Utgangen av Glade er .glade XML-fil som du vil lese i, legge ved tilbakeringe ( "signal avfallshåndtering") til identisk med navnet funksjoner, og spørring eller oppdatere i-minne-versjonen av det XML for å få widgets som du deretter bruker pyGTK å manipulere. Glade seg selv er en knirkete og ikke godt vedlikeholdt.

Bruke pyGTK gir deg grammatikken finkornet kontroll for å bygge din GUI. Dette vil være ordrik, kopi-og-lim-kode. Hvert attributt vil være en egen funksjon samtale. Den attributts returnerer ikke noe, så kjeding samtalene er uaktuelt. Vanligvis vil din IDE gi minimal hjelp på hvilke funksjoner mener og du vil bli kontinuerlig henviser til DevHelp eller noen andre verktøy.

Man skulle nesten forvente GTK GUI var ment å mislykkes.

Svarte 27/01/2010 kl. 17:45
kilden bruker

stemmer
1

Personlig vil jeg anbefale koding det ut i stedet for å bruke Glade. Jeg er fortsatt å lære python og pyGtk men jeg vil si at å skrive ut brukergrensesnittet for hånd ga meg mye innsikt i hvordan ting fungerer under panseret.

Når du har det lærte jeg vil si å gi Glade, eller andre UI designere en prøve, men definitivt lære å gjøre det på den "harde" måten først.

Svarte 15/04/2009 kl. 13:32
kilden bruker

stemmer
1

For raske og enkle skjermer bruker jeg Glade. Men for alt som trenger finere grad av kontroll, jeg lage en ny tilpasset klasser for hva jeg faktisk trenger (dette er viktig, fordi det er altfor lett å la seg rive med generaliseringer).

Med en radmager applikasjoner bestemte klasser, kan jeg raskt endre utseendet søknad bredt fra ett sted. Snarere som ved hjelp av CSS tilgjengeleg konsistens for nettsider.

Svarte 13/10/2008 kl. 22:02
kilden bruker

stemmer
-1

Du kan bruke glade-2 til å utforme og bruke glade2py.py å generere den rene pygtk kode, det bruker pygtkcompat å støtte gtk3

Svarte 27/06/2014 kl. 10:09
kilden bruker

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