![]() | Generare il codice (alternativo) |
| Prev | Next |
Passo 1 - Assicurati di aver salvato la form con il nome sigcreatedlg.ui e chiudi Qt Designer. Se apri questo file con il tuo editor preferito, noterai che non è codice C++, ma XML. Una linea di comando speciale chiamata uic è inclusa in Qt Designer. Questo comando viene usato per convertire il file .ui in files .h e .cpp. Questo passo viene svolto automaticamente da KDevelop.
uic -o sigcreatedlg.h sigcreatedlg.ui uic -o sigcreatedlg.cpp -i sigcreatedlg.h sigcreatedlg.ui
Passo 2 - Devi ora derivare la classe che KDevelop ha generato per te (la classe SigCreate) dalla nuova classe creata con Qt Designer. All'interno di KDevelop, visualizza il file sigcreate.h selezionandolo nel File Selector e aggiungi
#include "sigcreatedlg.h"all'inizio del file sigcreate.h, con tutti gli headers di cui hai bisogno.
#include <kapplication.h>
#include <qwidget.h>
#include <qlineedit.h>
#include <qmultilineedit.h>
#include <qcombobox.h>
#include <sigcreatedlg.h>
/** SigCreate è la classe base del progetto */
class SigCreate : public SigCreateDlg
{
Sostituisci public KMainWindow con public SigCreateDlg in quanto SigCreate deriva da SigCreateDlg.
Dovresti avere le seguenti linee in sigcreate.h :
class SigCreate : public SigCreateDlg {
Q_OBJECT
public:
/** constructor */
SigCreate(QWidget *parent=0, const char *name=0);
/** destructor */
~SigCreate();
};
Il file sigcreate.cpp dovrebbe assomigliare al seguente:
#include "sigcreate.h"
SigCreate::SigCreate(QWidget *parent, const char *name) : SigCreateDlg(parent, name)
{
}
SigCreate::~SigCreate()
{
}
Passo 3 - Devi anche aggiungere i file di include. In sigcreate.h, devi aggiungere i seguenti 3 headers, uno per ogni classe che abbiamo usato:
#include <qlineedit.h> #include <qcombobox.h> #include <qmultilineedit.h>Step 4 - Commenta alcune linee nel file main.cpp:
/* if (app.isRestored())
{
RESTORE(SigCreate);
}
else*/
dato che il programma era stato creato per essere basato su di una KMainWindow, che offre molti strumenti.
Puoi quindi lanciare il progetto per controllare che tutto sia a posto. All'inizio Build->Run automake & friends, e poi Build-> Run configure e Build->Build Project e Build->Install (oppure Install as root user) e Build->Execute Program (oppure Shift+F9). Per favore ricordati che tu vorresti lanciare Build->Install as root user invece di Build->Install se il tuo user non avesse accesso alla tua KDEDIR. Puoi anche saltare il passo relativo all'installazione: è adatto al tutorial, ma non lo potrebbe essere nel modo reale. L'interfaccia dovrebbe apparire, ma il bottone 'Crea!' non funziona ancora. Per fare ciò, dobbiamo implementare lo slot slotCreateSig(). Guarda la figura 19 sotto.
Se dovessi ottenere il seguente errore durante la compilazione: Syntax error before `{' token" referring to the opening brace right /before/ the Q_OBJECT line in sigcreate.h, allora hai dimenticato di aggiungere
#include "sigcreatedlg.h"oppure il file sigcreatedlg.h non è stato creato (cfr nota sopra).

| Prev | Home | Next |
| Link utili | Up | Implementare lo slot |