PDA

View Full Version : Interfaccia grafica con c++


Jonny32
24-03-2005, 12:58
Esistono software dove è possibile associare un interfaccia grafica ai programmi fatti in c++ (tipo vb magari...)?

Oppure esistono dei convertitori di programmi da vb6 a c++?


Thanks

Jonny32
24-03-2005, 22:33
Insomma esiste qualcosa di visuale che usi come linguaggio il c++?

ilsensine
25-03-2005, 11:40
Borland c++ Builder?

RaouL_BennetH
25-03-2005, 11:54
oppure visual c++ anche se poi ti allontani dagli standard.

Puoi utilizzare sotto windows dev-c++ mettendoci poi i vari riferimenti alle librerie grafiche.

Sotto linux invece puoi utilizzare ide completi come kdevelop, anjuta, wxGlade e Boa Constructor.

Mnka
25-03-2005, 19:47
Il linguaggio, in se per se, ti permette di disegnare l'interfaccia grafica attraverso l'API di Windows; poi trovi diversi compilatori, come il Borland e il Visual C++, che ti permettono di disegnare l'interfaccia quasi come fai in VB.

MSciglio
25-03-2005, 19:53
Ottime librerie per gestire le GUI con C++ sono Qt e wxWindows

Jonny32
04-04-2005, 19:25
Originariamente inviato da Mnka
Il linguaggio, in se per se, ti permette di disegnare l'interfaccia grafica attraverso l'API di Windows; poi trovi diversi compilatori, come il Borland e il Visual C++, che ti permettono di disegnare l'interfaccia quasi come fai in VB.

Come? :eek:
Fino ad ora ho fatto qualche prova con le gtk ma mi ci rinvengo poco... :huh:

Precisamente mi interesserebbe poter creare un'area di disegno dove poter collocare dei punti (se conoscente un po' di VB tipo le picturebox).
Altrimenti si potrebbe disegnare nella finestra stessa? :mc:

cionci
05-04-2005, 07:36
Originariamente inviato da RaouL_BennetH
Sotto linux invece puoi utilizzare ide completi come kdevelop, anjuta, wxGlade e Boa Constructor.
wxGlade gira anche sotto Windows: http://sourceforge.net/project/showfiles.php?group_id=58225&package_id=54072

cionci
05-04-2005, 07:37
Anche questo sembra carino: http://visualwx.altervista.org/

71104
05-04-2005, 13:08
Originariamente inviato da Jonny32
Come? :eek:
in Windows puoi disegnare finestre, pulsanti, radio buttons, check boxes, caselle edit, etichette, tree views, list views, ecc. tramite delle funzioni C che si chiamano funzioni API e sono esportate da alcune DLL di sistema, (nello specifico: user32.dll e gdi32.dll, quest'ultima serve + che altro per disegnare sulle finestre che crei); il sistema di windowing è piuttosto complicato, se non ne sai niente tieni presente che ci vorrà un po' per imparare ad usare le API nude e crude, perciò ti si consiglia qualche kit portabile oppure qualcosa come il Borland C++ Builder, che è un RAD (come Visual Basic) solo che in C++.

cionci
05-04-2005, 14:48
Mi sa che lui intendeva "disegnare" come si fa in un RAD...

71104
05-04-2005, 14:57
Originariamente inviato da cionci
Mi sa che lui intendeva "disegnare" come si fa in un RAD...
eh, vabbuo' ho capito; Borland C++ Builder se gli piace il RAD

Jonny32
05-04-2005, 18:30
Grazie a tutti dell'interessamento al mio problema :).

Originariamente inviato da cionci
Mi sa che lui intendeva "disegnare" come si fa in un RAD...

No a me mi và bene qualsiasi cosa... magari se è semplice è meglio... ;)

cmq più che altro la domanda è sempre questa:

Precisamente mi interesserebbe poter creare un'area di disegno dove poter collocare dei punti (se conoscente un po' di VB tipo le picturebox).

Io avevo provato con le gtk ma l'oggetto in questione nel tutorial è ancora "undocumented" :mad:... Link (http://www.gtk.org/tutorial/sec-drawingarea.html)

Io sono sotto Windows e non ho C++ Builder. Ora come ora stavo attopando con Glade (sempre con le librerie gtk). La migliore di tutti però sarebbe quella di scriversi il codice da sè però... :cry: :cry::)

cionci
05-04-2005, 18:48
Prova con le wxWidgets allora... Non mi ricordo se quell'oggetto c'è...ora guardo...

cionci
05-04-2005, 18:54
Nelle wxWidgets puoi caricare una classe wxImage e puoi posizione un pixel sovrascrivendo il vecchio con wxImage::SetRGB... Con wxMouseEvent puoi prelevare la posizione del mouse appena avviene un click...

DoubleAJ
05-04-2005, 19:16
Dove si possono trovare dei manuali o delle documentazioni sulle Win API da studiare per creare applicazioni C++ con interfaccia grafica? Non ho mai trovato nulla a riguardo...

DanieleC88
05-04-2005, 19:23
State dimenticando Qt della Trolltech... senza dubbio è di ottima qualità, anche se io personalmente preferisco Gtk+.

A proposito: http://developer.gnome.org/doc/API/2.0/gtk/GtkDrawingArea.html
Amo DevHelp ;)

DanieleC88
05-04-2005, 19:27
Originariamente inviato da DanieleC88
State dimenticando Qt della Trolltech...

Whoops! L'aveva detto MSciglio prima di me... vabbe', mi farò ripagare postandoti il link: http://www.trolltech.com/products/qt/

DanieleC88
05-04-2005, 19:34
Originariamente inviato da DoubleAJ
Dove si possono trovare dei manuali o delle documentazioni sulle Win API da studiare per creare applicazioni C++ con interfaccia grafica? Non ho mai trovato nulla a riguardo...

Hai provato su http://msdn.microsoft.com/ ??
Se non l'hai già fatto, corri a scaricare l'SDK delle API base di Windows.

Jonny32
06-04-2005, 13:19
Scusate l'ignoranza ma che vuol dire questo errore in compilazione?:

[Linker error] undefined reference to `gtk_main'
[Linker error] undefined reference to `gtk_widget_show'
ecc...

Thanks

DanieleC88
06-04-2005, 19:04
Significa che non hai detto al compilatore di fare il link alle librerie Gtk+. Se hai il Dev-C++, esplorati le opzioni per il progetto, ora sinceramente non ricordo dove siano le opzioni per il linker (io uso solo Anjuta ;)).

Jonny32
06-04-2005, 20:08
dove sono le opzioni per il linker lo so...
ma cosa devo fare?

DanieleC88
07-04-2005, 12:42
Devi scegliere la libreria da linkare, in questo caso dovrebbe esserci un file con nome simile a "libgtk2.0.a" in C:\Windows\System, basta scegliere quella come libreria aggiuntiva dalla finestra delle opzioni.

Buona fortuna ;)

Jonny32
08-04-2005, 08:32
Originariamente inviato da DanieleC88
Devi scegliere la libreria da linkare, in questo caso dovrebbe esserci un file con nome simile a "libgtk2.0.a" in C:\Windows\System, basta scegliere quella come libreria aggiuntiva dalla finestra delle opzioni.

Buona fortuna ;)

Ho trovato quella libreria e adesso Dev-Cpp compila senza problemi...
Ora però da dei problemi in eseguzione del tipo:

http://img227.exs.cx/img227/4134/15nt.th.png (http://img227.exs.cx/my.php?loc=img227&image=15nt.png)

Mi stò scoraggiando un po' con queste gtk.... :mc:
Forse sarebbe meglio usare qualcosa di diciamo "Windows native" tipo le API che diceva 71104.
Non mi ero accorto che Dev Cpp addirittura ha un file di esempio di una Windows Application. Penso che funzioni con le API di windows...
Ho provato a compilarlo e il programma consiste in una finestra nuda e cruda (già qualcosa cmq... :D )...
Se qualcuno ha mai usato queste "API" mi saprebbe dare qualche dritta?

cionci
08-04-2005, 08:58
Ma hai guardato le wxWidgets ?!?

anx721
08-04-2005, 13:42
per le api puoi vedere qua:

http://www.aleax.it/TutWin32/index.htm

se ti scarichi la versione completa di mingw developer studio hai incluse le wxwindows e puoi creare da progetto una'pplicazione wxwindows con tutte le opzioni gia settate. Per le gtk devi installare anche il runtime se no il programma non gira, mentre con le wxwindows ottieni un programma indipendente da tutto

DanieleC88
08-04-2005, 16:25
Hmmm... sto problema con Gtk+ è strano (non so darti risposte certe perché non l'ho mai usato sotto Windows). Prova a seguire il consiglio che Gtk+ ti dà: metti come opzione del compilatore "-fnative-struct" e riprova a compilare. Fidate, usare Gtk+ non è molto facile (ma una volta capito il meccanismo tutto va da sé), ma è sempre meglio che usare le API Win32 nude e crude... fidati, io l'ho fatto, quando ho usato Dev-C++, e non è bello. :(

P.S.: in ogni caso, prova anche altre soluzioni: wxWidgets, come ti ha ripetuto anche il nostro mod, cionci, e Qt della Trolltech. Sono due altre ottime alternative (vedi un mio messaggio precedente per i link).

P.S.: ehm... non fai prima ad usare Linux? :sofico: