Lo sviluppo di applicazioni cross-platform sta diventando sempre di più un must e, tra le numerose librerie grafiche in circolazione, le Qt sono di sicuro tra le più conosciute e performanti. Tanto per fare qualche esempio KDE, Google Earth e Skype per linux sono sviluppati con le Qt. Vedremo come integrare il tutto con il nostro Mac in pochi e semplici passaggi.
Il linguaggio di programmazione usato è generalmente il C++ ma sono disponibili bindings per altri linguaggi tra cui Python (PyQt4) e Ruby (QtRuby).
Prima di partire vediamo cosa ci mette a disposizione la Trolltech:
- Qt Designer: per il design e il test dell’interfaccia. Permette anche di configurare in modo molto intuitivo i signal e gli slot. Tipo Interface Builder.
- Qt Linguist: per l’internazionalizzazione
- Qt Assistant: documentazione ben organizzata e di facile lettura
- qmake: genera i makefile per l’architettura target in modo automatico.
Vediamo ora, senza entrare troppo nello specifico, come integrare le librerie e gli strumenti messi a disposizione con l’IDE made in Cupertino. Siccome un esempio è meglio di mille chiacchiere creiamo una form con due pulsanti, uno per uscire e l’altro per far scrivere su un’etichetta “Casapiddu!”.
- Apriamo Qt Designer e creiamo un nuovo Widget.
- Dal Property Editor scegliamo windowTitle e scriviamo Casapiddu (importante, altrimenti non compila).
- Draggate due button, una label e dovreste avere qualcosa del genere:
- Selezionate Edit->Edit Signals/Slots e linkate il pulsante esci con la form e agire come segue:
- Creiamo il progetto Qt (.pro) tramite il comando
qmake -project - Trasformiamolo ora in un progetto Xcode con il seguente comando:
qmake -spec macx-pbuilder QtXcode.pro. Abbiamo così un file xcodeproj pronto all’uso. Come si può notare sono stati automaticamente aggiunti i frameworks delle Qt per la compilazione. Aggiungiamo ora gli header delle classi Qt al progetto in modo da attivare (per quel che possibile) la funzione di completamento automatico del codice anche per queste segnature.
Per fare ciò scegliamo Project->Edit Project Settings e alla voce Header Search Paths del tab Configurations aggiungiamo quella delle nostre librerie. Dal tab General diamo Rebuild Code Sense Index per aggiornare il tutto.
- Quello che ci manca ora è una vera implementazione che ci permetta di usare la nostra interfaccia grafica. Per fare ciò abbiamo 3 possibili soluzioni, descritte alla seguente pagina. Scegliamo quella ad ereditarietà singola.
- Creiamo quindi i file per il nostro widget(QtXcode.h e QtXcode.cpp) più un file per il main. Il codice comprende anche la gestione del click per la visualizzazione del messaggio.
QtXcode.h:
#include “ui_qtxcode.h”class QtXcode : public QWidget
{
Q_OBJECTpublic:
QtXcode(QWidget *parent = 0);private slots:
void on_dilloButton_click();private:
Ui::Form ui; //l’object name della form come sul designer
};QtXcode.cpp:
#include
#include “QtXcode.h”QtXcode::QtXcode(QWidget *parent)
: QWidget(parent)
{
ui.setupUi(this);connect(ui.dilloButton, SIGNAL(clicked()), this, SLOT(on_dilloButton_click()));
}void QtXcode::on_dilloButton_click()
{
ui.label->setText(“Casapiddu!”);
}main.cpp:
#include#include “QtXcode.h”
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QtXcode casapiddu;
casapiddu.show();
return app.exec();
} - Per poter compilare correttamente da Xcode occorre aggiornare il file del progetto. Il modo più semplice è quello di ripetere i passi precedenti con il comando qmake per ricreare un .pro e poi un .codeproj.
Spero di esservi stato utile. Alla prossima!










Complimenti intanto per il breve tutorial!Io avrei bisogno di creare con qmake il semplice Makefile da usare da riga di comando.Ho usato il procedimento standard senza dare opzioni aggiuntive a qmake, ma sembra che il comportamento di default sia quello di creare il file di progetto per XCode.Io ho usato:
$qmake -project
$qmake
Nelle versioni precedenti di qmake questo generava un file Makefile da usare con make.Adesso il default sembra essere quello di generare il file di progetto per XCode.Sapresti aiutarmi?grazie e ancora complimenti!
Leggendo la documentazione di qmake ho trovato il modo per creare su os x il makefile anzichè il file di progetto per XCode.Pubblico il comando…magari è utile a qualcuno:
qmake -spec macx-g++
ciao. io ho installato una prima volta le qt via riga di comando. L’ho configurato cliccando su configure. Successivamente ho reinstallato le qt con il file dmg.
Ora il mio problema è che con i comandi qmake -project, qmake, make mi fa la mia applicazione solo che non mi da piu il file per xcode, quello per capirci che aveva estensione progetto.xcodeproj.
Come faccio a riaverlo? Si possoo usare entrambi? Come potrei disinstallare le qt completamente e in caso reinstallare tutto?
grazie mille