Qt è un cross-platform open-source GUI framework per C + +. Nokia fornisce un ottimo programma di sviluppo chiamato Qt Creator, ma supporta anche lo sviluppo di Qt conVisual Studio.
Introduzione
Qt è un cross-platform open-source GUI framework per C + +. Nokia fornisce un ottimo programma di sviluppo chiamato Qt Creator, ma supporta anche lo sviluppo di Qt conVisual Studio. Anche se non promuovono il supporto di Visual Studio per la loro libera edizione, Nokia fornisce versioni di Qt per Visual Studio 2008 sul loro sito web.
Questo tutorial descrive come configurare l’ambiente di sviluppo Qt e utilizzarlo conVisual Studio per creare una (sola) semplice applicazione GUI.
Prerequisiti
- Visual Studio 2008
- Qt 4.6.1 (Visual Studio build) download link
- Qt Addin for Visual Studio download
Lezione
Step 1: Impostazione per l’ambiente
Questa parte è facile. Basta scaricare l’installer dal link qui sopra ed eseguirli. Non è necessario costruire Qt da fonti.
Step 2: Creare una Applicazione Qt in Visual Studio
1. In Visual Studio 2008, scegliere File> Nuovo> Progetto
2. Nel Nuovo Progetto di dialogo, selezionate Qt Application dalla categoria Qt4 Progetti. Date un nome al progetto come qtdemo.
3. Nella procedura guidata QT4 GUI, fare clic su Fine per accettare le impostazioni predefinite.
4. In Visual Studio Esplora soluzione, esaminare i file generati dalla procedura guidata. Se hai chiamato il il progetto qtdemo, ci dovrebbe essere
o Un file del modulo denominato qtdemo.ui
o Un file di intestazione denominato qtdemo.h
o Fonti di files denominate main.cpp e qtdemo.cpp
5. Costruire ed eseguire il progetto in Visual Studio. Una finestra vuota GUI dovrebbe apparire.
Step 3: Personalizza la GUI
- In Visual Studio Solution Explorer, fare doppio clic sul file qtdemo.ui. L’applicazione Qt Designer si aprirà e si visualizzerà il modulo in bianco.
- Trascinare un Pulsante widget al form. Cambia il suo nome in btnHello modificando la proprietà objectName a btnHello
- Salvare il modulo e chiudere il Qt Designer.
- Torna in Visual Studio, creare ed eseguire il progetto. La finestra di interfaccia grafica dovrebbe ora contenere il pulsante.
Step 4: Aggiungere un Gestore di Eventi
In Solution Explorer, apri qtdemo.h. Aggiungi nuovo codice alla classe qtdemo, come illustrato di seguito. Poi, creare ed eseguire il progetto. Fare clic sul pulsante, e il testo sul pulsante dovrebbe cambiare in “Hi”.
class qtdemo : public QMainWindow
{
Q_OBJECT
public:
qtdemo(QWidget *parent = 0, Qt::WFlags flags = 0);
~qtdemo();
private:
Ui::qtdemoClass ui;
// begin new code
public slots:
void on_btnHello_clicked() {
ui.btnHello->setText("Hi!");
}
// end new code
};
Qualche nota per chi è nuovo a Qt:
Qt usa un meccanismo chiamato segnali e slot per ottenere la gestione degli eventi. Widgets (come il pulsante in questo esempio) emettono segnali (come cliccato) che possono essere ricevuti dagli slot (in questo esempio, on_btnHello_clicked). I segnali possono essere collegati agli slot attraverso l’uso di una funzione chiamata connect (), ma in questo esempio, l’associazione è stata fatta per nome utilizzando la funzione automatica di connessionidi Qt.
Una Parola su Code Completion
Qt usa uno strumento chiamato compilatore interfaccia utente (UIC) per convertire definizione di modulo. ui files al C ++ implementazioni. La uic è invocata automaticamente quando costruisci il progetto in Visual Studio, e genera i file nominati (ad esempio) ui_qtdemo.h. Visual Studio puo utilizzare il codice in questi file a fornire il completamento del codice per formare i membri.
Quando si apporta una modifica a un .ui file nella finestra di progettazione, è necessario aggiornare database IntelliSense di Visual Studio per ottenere il completamento del codice per i membri aggiunti di recente. Per fare questo, oricostruire l’intero progetto, oppure si può richiedere manualmente la rigenerazione di singoli ui_*.h file ciccando col destro un .ui file in Esplora soluzioni di Visual Studio e scegliendo Compilare.
Ho avuto un successo limitato con il completamento del codice. Qualche volta funziona e qualche volta no; la tua situazione potrebbe essere diversa!
APRIRE UNA FINESTRA DA UN’ALTRA FINESTRA
Il presente esempio (realizzato con Visual Studio con le librerie QT) fa capire in modo semplice e veloce come da una finestra disegnata in QT e fatta eseguire in Visual C++ sia possibile aprire un’altra finestra.
La semplicita’ delle GUI realizzate in QT permettono di sviluppare SW di grande impatto.