View Full Version : [Tutorial app. GUI - visual studio]
Teo@Unix
04-12-2009, 15:57
Ciao a tutti,
Ho sempre programmato con linux, creando applicazioni per la riga di comando, ora siccome avrei necessità di creare alcune applicazioni per Windows credo sia meglio utilizzare GUI grafiche, il punto è che non ho mai fatto nulla che utilizzi finestre, dialog ecc...
che consigli mi date per iniziare? Ho provato già un paio di volte ad aprire visual studio, creo la mia GUI, mi occorrerebbe sapere poi come faccio ad associare testbox e quant'altro per inviarci stringe dati ecc.... Credo che la cosa non sia complessa...
Potrebbe aiutarmi un breve tutorial?... Che consigli mi date?
Grazie.
Come facciamo se non dici il linguaggio ?
Teo@Unix
04-12-2009, 21:41
si scusami, andrebbe bene C o C++
theking0
05-12-2009, 08:34
Per creare una UI in C/C++ puoi farlo in diversi modi:
utilizzando solo le Win API; vedi questo link per saperne di più (http://www.aleax.it/TutWin32/)
oppure puoi utilizzare uno dei tanti framework a disposizione, portabili (come QT (http://qt.nokia.com/), GTK+ (http://www.gtk.org/), wxWidgets (http://www.wxwidgets.org/)) o non (es. MFC (http://it.wikipedia.org/wiki/Microsoft_Foundation_Classes)).
E' obbligatorio per te usare Visual Studio ?
Io ti consigliere QTCreator come ambiente di sviluppo. E' molto più semplice sviluppare interfacce con le libreria QT e QTCreator. Ovviamente è solo per C++.
Teo@Unix
05-12-2009, 11:40
Non saprei, dopotutto anche su visual studio non so molto, quindi opto per partire subito con il sistema migliore, ora andrò a vederemi QT, che intendi per "più semplice"?
Io ti consiglio di provare C# (se non è necessario C/C++), con il relativo Visual Studio Express.
Non saprei, dopotutto anche su visual studio non so molto, quindi opto per partire subito con il sistema migliore, ora andrò a vederemi QT, che intendi per "più semplice"?
Rispetto a Visual C++ con MFC.
http://qt.nokia.com/downloads/sdk-windows-cpp
Se cerchi un po' sul sito sono consigliati dei libri, alcuni di questi sono disponibili online gratuitamente.
tomminno
05-12-2009, 18:02
E' obbligatorio per te usare Visual Studio ?
Io ti consigliere QTCreator come ambiente di sviluppo. E' molto più semplice sviluppare interfacce con le libreria QT e QTCreator. Ovviamente è solo per C++.
E' anche disponibile il plugin per visual studio che sfrutta QTCreator come editor grafico.
Teo@Unix
05-12-2009, 22:33
:rolleyes: Si ho dato un occhio a Qt, ma si tratta di mettermi a imparare tutta una serie di librerie nuove... vedrò, ma per il momento mi mantengo su Visual Studio e le sue API che già avevo utilizzato anche se non frequentemente .... rimango sempre tutt'orecchie per quanto riguarda consigli...
Grazie!
E' anche disponibile il plugin per visual studio che sfrutta QTCreator come editor grafico.
Non QtCreator, ma QtDesigner è l'editor grafico.QtCreator è l'IDE.
Preferisco QtCreator a Visual Studio per programmare in Qt, sebbene sia inferiore sotto molto aspetti. In particolare ciò che me lo fa preferire è l'help integrato (premo F1 e mi va alla funzione della libreria Qt) e la migliore integrazione con l'editor grafico.
:rolleyes: Si ho dato un occhio a Qt, ma si tratta di mettermi a imparare tutta una serie di librerie nuove... vedrò, ma per il momento mi mantengo su Visual Studio e le sue API che già avevo utilizzato anche se non frequentemente .... rimango sempre tutt'orecchie per quanto riguarda consigli...
Grazie!
Scusa, ma se ti devi reimparare tutte le API per le librerie grafiche cosa ti cambia ? Le API di Windows le puoi usare comunque anche in QtCreator.
Se non ti va bene allora usa le vetuste MFC, ma preparati a dover scrivere almeno 5 volte tanto codice di quello che scriveresti in MFC per fare le stesse operazioni.
Teo@Unix
06-12-2009, 18:04
Vabene per il momento mi mantengo su visual studio e le MFC, anche perchè devo prendere confidenza con questi "ambienti di sviluppo"...
prometto che appena capisco la logica valuterò anche Qt Creator che ho comunque installato e guardato, è vero che mi aiuta molto di più avendo quella comoda possibilità di usare il tasto F1 per ottenere velocemente la guida.... ma lo vedrò poi andando per gradi... sicuramente vale la pena fare una buona analisi prima di andare in una direzione ad occhi chiusi....
Ora, ho visual studio, ho libreria MSDN con tutte le API che voglio ecc. ecc....
creo la mia bella interfaccia grafica molto agilmente, sono riuscito a fare cose del tipo MessageBoxA(0,"string","title",MB_OK);.......
Non avevo mai utilizzato un ambiente di sviluppo, di solito il mio approccio per scrivere utility per riga di comando era partire dalle funzioni ed il main era una delle ultime cose che facevo....
Qui vedo con rammarico che ci vorrà un bel pò di tempo per entrare nell'ottica.......
Come gestisco i text box ad esempio?
Prima se volevo pigliarmi l'input dell'utente e sistemarlo in una bella variabile facevo cose del tipo:
u_int32_t var = atoi(argv[1]);
mò ? so che il text box che ho sistemato nel mio form ha un id IDC_EDIT1 di default, come lo uso questo?
Per il resto non mi sembra eccessivamente complicato, il compilataore ha già fatto un bel pò di cose....
Grazie per le vostre risposte.
Vabene per il momento mi mantengo su visual studio e le MFC, anche perchè devo prendere confidenza con questi "ambienti di sviluppo"...
Peccato che C++ con MFC non lo usi veramente più nessuno ;)
Con Visual Studio i due linguaggi più usati per creare applicazioni con interfaccia grafica sono C# e VB.Net, entrambi sulla piattaforma .Net.
Si può usare anche C++ in versione managed (cioè si appoggia al compilatore e alle libreria di .Net), ma non è molto usato in quanto gli si preferisce C#.
Come dicevo prima le MFC sono vetuste, nonostante gli abbiano dato una ripulita abbastanza di recente, sono rimaste ferme a oltre 10 anni fa. Hanno dei grossi difetti e sopratutto sono molto più prolisse di qualsiasi altro framework attuale.
Quindi tanto vale, davvero, impararti C#, come ti era stato suggerito.
Teo@Unix
06-12-2009, 20:29
.... naturalmente queste cose non le so ... dato che non lavoro come sviluppatore ... quindi mi dici che il linguaggio più diffuso al momento è C#? ....
Con questo mi metti alle corde :D dato che sul C# so davvero poco nulla ...
Quindi devo proprio cedere a Qt.... sembrerebbe ....:p ,
ok, ok, ascolterò ... anche perchè non ho intenzione di impararmi il C#, almeno non per ora ..... mentre con Qt si usa ancora il C++ giusto??
quindi la mia domanda si rinnova;
Quando ho aperto Qt ho visto che utilizza i Widgets, dunque usa i segnali se non mi sbaglio...:mbe:
Per uno che non ha mai realizzato UI che consigli dunque? (nel senso per iniziare ad utilizzare Qt, io arrivo da linea di comando)
Teo@Unix
06-12-2009, 23:54
Stò smanettando un pò con Qt, non posso darti torto....
#include "mainwindow.h"
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::changeEvent(QEvent *e)
{
QMainWindow::changeEvent(e);
switch (e->type()) {
case QEvent::LanguageChange:
ui->retranslateUi(this);
break;
default:
break;
}
}
void MainWindow::cmd_start_clicked()
{
ui->lcdNumber->display(32);
}
per settare un "display" ho inserito solo cmd_start_clicked()...
Non so per cosa lo usi ma.. se dovessi utilizzare dei socket?? o librerie per la rete come "pcap"?? Queste immagino non vadino bene... o no? :(
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.