C'è una libreria Python che permette di costruire interfacce utente senza scrivere molto codice?

StackOverflow https://stackoverflow.com/questions/671741

Domanda

Le scrivo editing front-end in Python da diversi anni ormai, e io sono stufo di micromanaging ogni dettaglio dell'interfaccia utente di una finestra o una finestra di ogni singola volta.

Esiste una tecnologia che mi permette, per esempio, specificare i rapporti tra un'interfaccia GTK + Glade-progettato e le tabelle e record di un database SQLite da fare tutto il lavoro uomo medio? Mi dovrebbe risparmiare il lavoro di scrittura a mano gestori di eventi, valutatori di ingresso e visualizzare gli aggiornamenti.

Le tecnologie in questione sono solo esempi, ma voglio restare con Python, per quanto possibile.

È stato utile?

Soluzione

Oltre a quelli già citati posso aggiungere:

Non ho mai utilizzato uno di loro in modo non hanno raccomandazioni, ma, per quel che vale, ho usato almeno 2 programmi complessi costruiti direttamente sul pygtk che lavoravano in Windows e Linux.

Credo Kiwi è l'unico di questi con cotto nel supporto per db (attraverso l'interfaccia con SQLAlchemy, SQLObject o Storm) ma sarei sorpreso se non si poteva usare una di quelle ORM di dentro uno qualsiasi degli altri quadri .

Altri suggerimenti

PyQt e dei suoi modelli possono automatizzare alcuni di questi compiti per voi (a una certa quantità fuori rotta, per esempio riempiendo i widget con i dati da un database e gestire la maggior parte del comportamento widget, buffer, ecc.).

Se si desidera un approccio più orientato agli oggetti per la gestione di SQL si poteva guardare in una soluzione ORM-oriented (ad esempio SQLAlchemy).

Dabo è costruito sulla cima di wxPython, in modo da non preferire, ma è progettato per rendere più facile di legare una GUI a un database, quindi consiglierei di check it out se non l'hai già. In particolare, è ottenuto buoni servizi per la legatura widget per dati e la gestione di un sacco di casi comuni di sviluppo di GUI.

wxGlade può aiutare, anche se non ho usato io stesso in modo da non lo faccio parlare per esperienza.

Boa Constructor a quanto pare ha un costruttore wxPython GUI in esso, e v'è anche PythonCard , anche se lo sviluppo su questi due progetti sembra essere in fase di stallo.

Tratti potrebbe essere una buona opzione per voi. http://code.enthought.com/projects/traits/ docs / html / TUIUG / index.html

semplice come è quello di mappare un utente per un oggetto, non sembra troppo esagerato per incorporare SQLAlchemy per la persistenza.

C'è un buon libro su wxPython, "wxPython in azione", che non si può dire per alcune delle altre soluzioni. Non bussare alle altre. Ho avuto successo in via di sviluppo con wxPython in passato e viene fornito con una grande serie di applicazioni dimostrative con il codice sorgente da cui è possibile prendere in prestito liberamente.

Il miglior designer dell'interfaccia utente che ho trovato per le applicazioni wxPython è quello commerciale, anthemion DialogBlocks. E 'di uno dei programmatori wxPython ed è valsa la pena. Altre soluzioni per la progettazione dell'interfaccia utente includono wxGlade (ho trovato utile, ma non ricco di funzioni) e Boa Constructor (non l'ho usato). Wing IDE potrebbe anche avere uno. Python Editor Stani fasci wxGlade, credo. Ci sono un sacco di altri progetti che in realtà non funzionano o che sono piuttosto vecchio.

Per quanto riguarda l'automazione SQL va, come un altro risposto dice, mi piacerebbe guardare in SQL alchimia, ma la curva di apprendimento per una piccola applicazione potrebbe essere troppo e sarebbe meglio solo andando dritti a ODBC. Il miglior api ODBC è quello usato da Django, pyodbc.

E 'stato un po' che ho sviluppato con questi strumenti, così ci possono essere qualcosa di più nuovo per ciascuno, ma a quel tempo questi erano sicuramente il migliore di razza a mio parere.

Ho avuto un sacco di successo con wxPython, ma che è stato alcuni anni fa e non ci possono essere migliori soluzioni nuove ...

Ok questa è una soluzione non convenzionale ma scrivere voi stessi un generatore di codice. Ho fatto diverse volte utilizzando Mako . Quindi, nel mio caso ho auto ispezionare una tabella che contiene le colonne si e tipi e generare le classi da questo. E 'più di lavoro in anticipo, ma fa esattamente ciò che si vuole ed è riutilizzabile in progetti successivi.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top