# [DEV] Un IDE che permetta di disegnare GUI e scivere codice

## silian87

Visto che se ne parlava creo un nuovo topic per la felicita' di shev ( e per la leggibilita'   :Very Happy:   ).:

Qualcuno mi elenca gli IDE integrati che conosce in cui e' possibile disegnare interfacce grafiche e scrivere anche il codice? Tutto in un programma...

Per ora io conosco questi:

1)Gambas - Basic

2)Kylix - Delphi C++ (ma non mi va di usarlo...)

3)Lazarus - Delphi

4)Sun One Studio (net beans) - Java

Inoltre vorrei sapere se e' possibile integrare Glade2 con Anjuta, e poi se oltre il kylix c'e' unIDE sempre con possibilita' di disegnare le GUI che usi C/C++ come linguaggio. Grazie.

----------

## fedeliallalinea

designer IDE per qt

----------

## randomaze

 *silian87 wrote:*   

> Tutto in un programma...
> 
> 

 

Perché vuoi tutti in un programma? I costruttori di interfacce separati non van bene?

Per Java c'é anche IDEA... e probabilmente qualcosa tra i vari plugin di Eclipse

----------

## emix

Per java c'è questo. E' un plugin di eclipse (ancora un pò immaturo) che serve a realizzare interfacce awt/swing e swt.

Edit: c'è pure wxGlade per wxWidgets/wxPython.

----------

## leonida

wxPython

SPE Stani Python Editor

----------

## federico

python supporta qualsiasi tipo di interfaccia, wxwindows, qt e pygtk (quelle che uso io attualmente per programmare).

Il mio consiglio e' di scriverla a mano l'interfaccia quando possibile, eventualmente esite, tra gli altri, "komodo"

http://www.activestate.com/Products/Komodo/

----------

## randomaze

Ci sarebbe anche wxDesigner.

----------

## motaboy

Io le interfacce per kde preferisco scriverle a mano, molto piú comodo. Magari con un bel file XML per i menu.

Ovviamente uso kdevelop.  :Laughing: 

----------

## silian87

Beh, allora qualcuno mi potrebbe indicare dove posso trovare guide a livello generale e anche guide specifiche per imparare a scrivere interfacce e a correlarle col codice di esecuzione in vari linguaggi? Mi interesserebbero le Wx,qt,gtk2 con C/C++ e python. Grazie.

----------

## motaboy

Con le qt, ti guardi l'help e sei a posto, é chiarissimo.

In pratico ti crei un QLayout con le poprietá che vuoi, dentro al quale aggiungi i widget che vuoi. niente di piú facile.

Dico che é molto piú comodo scriverle a mano, perché quando devi cambiarle devi stare piú attento, visto che QTDesigner ti crea un file del layout di base che poi tu devi ereditare ed implementare i segnali e le altre cose.

----------

## fedeliallalinea

http://doc.trolltech.com/

----------

## mrfree

Anjuta dovrebbe essere utile nella creazione di GUI basate su gtk (uso il condizionale perché non l'ho mai usato per questo)

----------

## federico

Su internet puoi trovare il pygtk tutorial per scrivere interfacce gtk con python.

Non ho il link preciso or ora ma dovrsti trovarlo facilmente.

----------

## X-Drum

 *mrfree wrote:*   

> Anjuta dovrebbe essere utile nella creazione di GUI basate su gtk (uso il condizionale perché non l'ho mai usato per questo)

 

non usero' mai piu' Gtk o almeno faro in modo di usarlo il meno possibile..

passi per Glade (caruccio) ma programmare in Gtk fa veramente passar la voglia...per la scarsità di doc......  :Evil or Very Mad: 

----------

## assente

avevo scritto questa --> http://assente.altervista.org/?q=node/view/4 cosina per fare dei programmi con Ruby/Gtk/Glade/Anjuta la grafica è separata, ma l'implementazione è semplicissima, alla Vis*al B*sic  :Smile: 

----------

## Cagnulein

grandissimo assente, cercavo proprio una cosa del genere, per farmi le mie applicazioncine sotto linux...

veramente consigliato come link   :Cool: 

----------

## zUgLiO

Io ti segnalo le uniche cose che so usare, e cioè Glade e Anjuta

----------

## assente

 *Cagnulein wrote:*   

> grandissimo assente, cercavo proprio una cosa del genere, per farmi le mie applicazioncine sotto linux...
> 
> veramente consigliato come link  

 

Non so come sia con pyGTK comunque, con Ruby l'implementazione è veramente facile, documentazione ed esempi sono su ruby-gnome2.sourceforge.jp, inoltre rbbr ti fa vedere ad albero tutte le classi implermentate

----------

## silian87

mm grazie dei link...

 *Quote:*   

> Io ti segnalo le uniche cose che so usare, e cioè Glade e Anjuta

 

Li conosco ed ho gia' provato ad usarli.. ma come si fa a farli lavorare insieme? Cioe' come diavolo faccio la parte grafica con uno e scrivo iol codice con l'altro sullo stesso progetto?

----------

## assente

Non ho detto che lavorano insieme  :Sad:  comunque glade lavora sul file .glade e anjuta sul .rb 

rbbr è questo --> http://assente.altervista.org/immagini/rbbr.png e ti permette di sapere tutte le proprietà disponibili del texbox es.

----------

## zUgLiO

Prima apri Anjuta e aiutandoti con il wizard ti crei lo scheletro di un progetto, poi nel menu vai su View->Edit Application GUIs ( in italiano non mi ricordo come si chiama) che ti aprira glade e ti permetterà di lavorare sull'interfaccia..una volta terminato l'interfaccia salvi tutto e continui a lavorare solo sul codice con anjuta.

A me è stato molto utile questo tutorial:

http://anjuta.sourceforge.net/documents/C/anjuta-tutorial/index.html

e anche questo:

http://anjuta.sourceforge.net/documents/C/anjuta-advanced-tutorial/index.html

----------

## I-Ching

Io per python sto usando da un po  dev-util/boa-constructor. non e' del tuto maturo ma ti permette di fare tutto insieme: GUI + codice personale.

Spero sistemino alcune rognette minori, ma per il resto in python e' il sistema piu comdo che ho trovato

Qui delle snap di un lavoro in sviluppo :  snap 1, snap 2, snap 3

vedi un po te  :Smile: 

Ue-Tsi

----------

## silian87

mmm sembra facile da usare.. piuttosto che interfaccia grafica e'? wxwindows? Non sembra molto accattivante...

----------

## akiross

GLADE / C/C++/Python e magari (sicuro) altri linguaggi

Ho visto un seminario al webbit su come usarlo e mi e' piaciuto un sacco... non ho ancora avuto l'occasione, ma e' comodissimo!

----------

## randomaze

Cerco di fare un pò d'ordine dato che in questo thread sono comparsi parecchi spunti e nomi interessanti.

Ditemi cosa ne pensate, se c'é bisogno di modifiche, aggiunte, correzioni e, dopo vediamo se farlo diventare un topic a se stante  :Wink: 

IDE Generici

Visual Improved

IMHO il migliore

emacs

L'editor programmabile scritto da RMS.

eclipse

Scritto in Java permette, tramite i suoi numerosi plugin, di essere utilizzato praticamente per qualsiasi linguaggio

Basic

Gambas

Ambiente di sviluppo basato su un interprete basic con estensioni ad oggetti (simile al visual basic ma non un Visual Basic Clone)

Object Pascal

Kylix

Commerciale. Ambiente di sviluppo Object Pascal/C++ di Borland

Lazarus

Delphi clone, basato su freepascal.

Java

NetBeans

Tra l'altro utilizzato da SUN nel suo Sun One Java Studio.

IntelliJ IDEA

Commerciale. Ambiente di Sviluppo per Java

eclipse

L'ambiente di sviluppo unversale (basta avere i plugin giusti!). Il plugin Visual Editor Project consente di creare interfacce basate su awt/swing/swt... al momento sembra essere un pò imamturo

Qt/KDE

Qt Designer

Commerciale (?). Il costruttore di interfacce per le librerie Qt fornito da trolltech

kdevelop

L'IDE multi-linguaggio per programmare con KDE

Gtk+/GNOME/wxWindows

Anjuta

L'IDE C/C++ per GTK/Gnome. Può essere usato insieme al costruttore di interfacce Glade anche se é completamente integrato. Utile leggere il tutorial e l'advanced tutorial.

wxWindows

wxDesigner

Costruttore di interfacce per le wxWidgets

wxPython

Per programmare interfacce grafiche in python usando le wxWidgets

wxGlade

costruttore di interfacce scritto in python che può generare codice C++/XML e Python per per WxWidgets/WxPython

boa-constructor

Python IDE e costruttore di interfacce con le wxPython

SPE

Editor per programmare wxPython che può essere usato abbinato con wxGlade

Komodo

Commerciale. IDE multilinguaggio (php/perl/phyton) che incorpora anche un GUI builder (il GUI Builder per quali librerie/toolkit funziona?)

miscellanea

Tcl/Tk

Messo in secondo piano dalle attuali innovazioni il tcl era il linguaggio principe per realizzare GUI script e a oggi continua ad essere l'unico presente nell'instalalzione default di pressoché tutti gli U*X (programmare in tcl/tk é un pò come fare script per /bin/sh insomma!)

fltk

Il Fast Lite Toolkit é scritto in C++ e dispone di widget capaci di dare un look "NextStep-like" alle applicazioni. Nella distribuzione delle librerie c'é anche il costruttore di interfacce fluid.

Fox Toolkit

Il Fox Toolkit é una libreria di classi C++ multipiattaforma. Oltre al C++ si possono scaricare dal sito anche i bindings per vari linguaggi come Python, Ruby ed Eiffel.

Documentazione

Programmazione Linux

Bash Reference Card

un utile prontuario per la bash (pdf in inglese).

Guida Rapida ai comandi Linux di Andrea Sivieri

Breve e concisa descrizione dei principali comandi per linux

Guida avanzata di Bash-Scripting

Se qualcuno pensa che la programmazione di shell sia una cosa banale e poco potente forse é bene che dia un occhiata a questo tomo

Programmare Linux di Giorgio Zoppi

Rapida guida alla programmazione in C dotata di introduzione ai principali strumenti GNU: Make, Automake/Autoconf e GDB, tutto in una cinquantina di pagine!

Guida Alla Programmazione in Linux

Tomo in italiano riguardante la programmazione C di un sistema Linux, molto, molto interessante

Programmazione in ASM per Linux

Una breve introduzione ai tool per programmare in assembler con Linux.

Pensare in C++

La traduzione in italiano del celelibro di Bruce Eckel

Corso di Perl

Il Corso di Perl del LOA HackLab Milano

Programmare in PHP

Guida al PHP scritta da Gianluca Giusti. (Normalmente inclusa agli appunti di Informatica Libera di Giacomini)

Python.IT

Il sito mirror di python.org con le traduzioni in italiano

ZonaPython.IT

Altro sito di risrse in italiano, oltre ad ospitare documentazione reperibile anche sugli altri due siti dovrebbe essere destinato ad evolversi con materiale proprio

Programmazione GUI

Oltre alla documentazione scaricabile direttamente dai siti delle varie librerie/ambienti (spesso ben fatta) ci sarebbero anche i seguenti siti

Qt

Le guide alle librerie Qt, per coloro a cui non basta il seguente bignami:

 *motaboy wrote:*   

> ti crei un QLayout con le poprietá che vuoi, dentro al quale aggiungi i widget che vuoi. niente di piú facile
> 
> 

 

GTK+ Tutorial

Il tutorial ufficiale delle GTK+

pygtk tutorials

Usare il GTK (1.x e 2.x) con Python

Assente

Una breve guida di Assente per fare dei programmi con Ruby/Gtk/Glade/Anjuta. In Italiano:-D !

----------

## silian87

Ottimo lavoro.. ora inizio a leggere....   :Very Happy: 

----------

## Arixx

Piccola precisazione: WxGlade crea codice GUI in python/c++/xml per WxWidgets/WxPython  :Wink: 

----------

## zUgLiO

Cambia avatar, non ha molto da ridere in questi giorni   :Laughing: 

http://www.thoughtcrimenews.com/berlusconi.jpg

----------

## assente

Non so, visto che i linguaggi di programmazione sono infinit, mentre le librerie grafiche sono sempre quelle e si controllano bene o male allo stesso modo, non era meglio strutturalo per librerie grafiche? tipo:

GTK

Glade

Costruisce interfaccie GTK ed ha estensioni multilinguaggio (Python ruby java C#,..)

Anjuta

L'IDE C/C++ per GTK/Gnome. Può essere usato insieme al costruttore di interfacce Glade anche se é completamente integrato. Utile leggere il tutorial e l'advanced tutorial.  (multilinguaggio)

QT

Qt Designer

Commerciale (?). Il costruttore di interfacce per le librerie Qt fornito da trolltech 

Gambas

Ambiente di sviluppo basato su un interprete basic con estensioni ad oggetti (simile al visual basic ma non un Visual Basic Clone) 

WX

Anche perchè (p. es.)Anjuta supporta molti più linguaggi di c/c++, quindi 

sarebbe poi ridondante, così come anche le Wx non sono solo interfaccia con Python

----------

## mrfree

concordo zUgLiO ... pessima scelta   :Wink: 

----------

## koma

quoto *mrfree wrote:*   

> concordo zUgLiO ... pessima scelta  

 

----------

## motaboy

 *randomaze wrote:*   

> 
> 
> Documentazione
> 
> Qt
> ...

 

 :Laughing:   :Laughing:   :Laughing:   :Laughing:  Dehehe, leggetela tutta (oppure createvela con la USE="doc" quando emergete le qt) e alla fine capirete che il vero succo é questo!  :Laughing:   :Laughing:   :Laughing:   :Laughing: 

----------

## Arixx

Odio andare OT, ma l'avatar lo trovo divertente, e me lo tengo  :Twisted Evil: 

----------

## FonderiaDigitale

finche i mod te lo permettono  :Smile: 

----------

## randomaze

 *assente wrote:*   

> Non so, visto che i linguaggi di programmazione sono infinit, mentre le librerie grafiche sono sempre quelle e si controllano bene o male allo stesso modo, non era meglio strutturalo per librerie grafiche? 

 

Si potrebbe essere una buona idea... in giornata vedo di riassemblarlo ragruppandolo per librerie e vediamo l'effetto.

@Arixx: Grazie per la precisazione

----------

## n3m0

 *randomaze wrote:*   

> 
> 
> Java
> 
> 

 

NetBeans

A world-class integrated development environment for developing Java applications. NetBeans IDE provides support for the latest standards in J2SE, J2EE, and J2ME technologies.

(è anche RAD, ndNemo)

```
emerge -s netbeans

Searching...

[ Results for search key : netbeans ]

[ Applications found : 1 ]

*  dev-util/netbeans

      Latest version available: 3.6-r1

      Latest version installed: 3.6-r1

      Size of downloaded files: 31,513 kB

      Homepage:    http://www.netbeans.org

      Description: NetBeans 3.6 IDE for Java

      License:     GPL-2 Apache-1.1 sun-bcla-j2ee JPython SPL

```

----------

## randomaze

 *n3m0 wrote:*   

> NetBeans
> 
> 

 

Ok, sistemato al posto del Java One.

Tra l'altro ho risistemato le categorie cercando di organizzare per libreria e ho aggiunto un pò di cose, dateci un occhio per favore

----------

## zUgLiO

per la documentazione segnalo anche il Tutorial delle Gtk+

----------

## morellik

Non dimentichiamo eric3 per la programmazione Python e non solo.

 :Arrow:  http://www.die-offenbachs.de/detlev/eric3.html

morellik

----------

## bld

 *Arixx wrote:*   

> Odio andare OT, ma l'avatar lo trovo divertente, e me lo tengo 

 

fosse quello di ben landen.. ma un avatar di un terrorista ad un forum open source cosi tranquillo non puo che cagare il kazzo

----------

## bld

Ce un IDE molto semplice e carino che si chiama DrPython l'ebuild e' richiesto da molti ma non ce per il momento per via di un problema con le wxPython.

Lo trovare su sourceforge o freshmeat.

----------

## n3m0

 *randomaze wrote:*   

> ho risistemato le categorie cercando di organizzare per libreria e ho aggiunto un pò di cose, dateci un occhio per favore

 

A me sembra buono.

Solo qualche particolare:

Giusto per questioni di pignoleria, le wxWindows hanno cambiato nome già da un po' wxWidgets.

 Eclipse lo segnalerei principalmente come ambiente di sviluppo per Java, estensibile, poi, tramite plugin a vari linguaggi, senza vantare troppo la sua universalità, teoricamente vera, ma praticamente ancora lontana da essere realmente tale.

Questa precisazione è dovuto al fatto che il modulo JDT (per lo sviluppo Java) è anni luce avanti  sia rispetto al plugin ufficiale per C/C++ (CDT) che agli altri plugin unofficial per altri linguaggi, per i quali esistono IDE dedicati migliori.

Tra gli editor "generici" io suggerirei:

```
*  app-editors/jedit

      Latest version available: 4.2_pre14

      Latest version installed: 4.2_pre14

      Size of downloaded files: 1,779 kB

      Homepage:    http://www.jedit.org

      Description: Programmer's editor written in Java

      License:     GPL-2
```

----------

## Arixx

 *bld wrote:*   

>  *Arixx wrote:*   Odio andare OT, ma l'avatar lo trovo divertente, e me lo tengo  
> 
> fosse quello di ben landen.. ma un avatar di un terrorista ad un forum open source cosi tranquillo non puo che cagare il kazzo

 

Guarda...Open Source != Comunismo....quindi ti prego di non esagerare  :Wink: 

Poi questo avatar non viola nessuna delle regole.

Qualche avatar non mi piacce, ma ho imparato a contenermi e a convivere, quindi prego che voi possiate fare lo stesso.

----------

## randomaze

 *Arixx wrote:*   

> Poi questo avatar non viola nessuna delle regole.
> 
> Qualche avatar non mi piacce, ma ho imparato a contenermi e a convivere, quindi prego che voi possiate fare lo stesso.

 

Tu hai ragione ma mi sembra che gli altri stavano scherzando.

Detto questo direi che ognuno si tiene il proprio avatar e riprendiamo a parlare di IDE prima di sconfinare in un flame.

----------

## zUgLiO

Se ti riferisci a me io stavo davvero scherzando   :Very Happy: 

----------

## bld

 *Arixx wrote:*   

>  *bld wrote:*    *Arixx wrote:*   Odio andare OT, ma l'avatar lo trovo divertente, e me lo tengo  
> 
> fosse quello di ben landen.. ma un avatar di un terrorista ad un forum open source cosi tranquillo non puo che cagare il kazzo 
> 
> Guarda...Open Source != Comunismo....quindi ti prego di non esagerare 
> ...

 

chi ha parlato di comunismo? il comunismo non voul dire niente. e poi stiamo andando troppo off topic.

----------

## croot

io sto sviluppando una piccola applicazione in python/pyqt e mi trovo molto bene con vim + vimpython + supertab

ho provato vari ide ma alla fine con vim mi trovo molto meglio..

ciao.

----------

## shev

[mod]

 *bld wrote:*   

> chi ha parlato di comunismo? il comunismo non voul dire niente. e poi stiamo andando troppo off topic.

 

Direi che l'OT può finire qui, siete troppo vicini al flame e alla sterile polemica da bar. Altri post OT li elimino direttamente. Scusate, ma meglio prevenire, ognuno ha il diritto di vedere rispettate le proprie idee e certi argomenti pare proprio facciano dimenticare questa buona usanza (al di là di ironia o battutine varie che possono starci, sono il primo a farle. Però se poi degenerano o non vengono apprezzate meglio fermarsi ed evitare flame e risentimenti vari).

Grazie

[/mod]

----------

## randomaze

 *croot wrote:*   

> io sto sviluppando una piccola applicazione in python/pyqt e mi trovo molto bene con vim + vimpython + supertab

 

Cosa fa vimpython?

 *Quote:*   

> ho provato vari ide ma alla fine con vim mi trovo molto meglio..
> 
> ciao.

 

quoto.

Adesso aggiungo il post di riepilogo con jedit, pyQt, wxWidget

----------

## croot

 *randomaze wrote:*   

> 
> 
> Cosa fa vimpython?
> 
> 

 

è un plugin per le due gui di vim (kvim e gvim) che aggiungono un menu con le seguenti map:

"   [[      -- Jump to beginning of block

"   ]]      -- Jump to end of block

"   ]v      -- Select (Visual Line Mode) block

"   ]<      -- Shift block to left

"   ]>      -- Shift block to right

"   ]c      -- Select current/previous class

"   ]f      -- Select current/previous function

"   ]<up>   -- Jump to previous line with the same/lower indentation

"   ]<down> -- Jump to next line with the same/lower indentation

+ una voce che ti aggiunge un ulteriore menu per la navigazione in base alle classi/funzioni della tua app.

nel menu esiste anche un voce per commentare/decommentare le linee ma non ha uno shortcut quindi ho aggiunto al plugin:

map [c          :call PythonCommentSelection()<CR>

map [x          :call PythonUncommentSelection()<CR>

per "shortcuttare" le relative funzioni.

----------

## randomaze

 *croot wrote:*   

> è un plugin per le due gui di vim (kvim e gvim) che aggiungono un menu con le seguenti map:

 

Spettacolare, grazie  :Very Happy: 

----------

## croot

 *randomaze wrote:*   

> Spettacolare, grazie 

 

Ti consiglio anche di non sottovalutare SuperTab che trovo ancora più comodo, in pratica memorizza tutte le classi/funzioni che utilizzi nel tuo codice e naturalmente quando li riutilizzi per la seconda volta ti basta premere tab e lui ti completa, oltre che la funzione, anche parte degli argomenti... cosi se la tua app è abbastanza lunga ti trovi ad utilizzarlo abbastanza spesso e ti risparmi errori di digitazione ed anche la noia di scrivere esattamente il nome della classe.. insomma per me è una bomba.

Esiste un interprete python con funzionalità simili solo che lui va a pescare le classi proprio da dentro i moduli importati, anche questo è molto comodo soprattutto quando hai bisogno di sapere la sintassi esatta di una classe e non te la ricordi o non hai voglia di andarla a cercare nei doc.

Questo interprete si chiama ipython

Ovviamente trovi tutto nei portage

ciao  :Smile: 

----------

