

Pasul 1 -
Verificaţi că aţi salvat forma cu numele
sigcreatedlg.ui şi īnchideţi Qt Designer.
Dacă deschideţi acest fişier cu un editor de text, veţi vedea că nu este cod
sursă C++, ci cod de marcare XML. Cu Qt Designer vine şi un utilitar
de linie de comandă special numit uic.
Această comandă este folosită pentru a converti fişierul .ui
īn fişiere .h şi .cpp.
Īn mod normal această operaţie este făcută automat de KDevelop.
.h şi .cpp din
sigcreatedlg.ui,
iată mai jos două comenzi pe care le puteţi executa manual īntr-o consolă,
īn directorul sigcreate/src:
uic -o sigcreatedlg.h sigcreatedlg.ui uic -o sigcreatedlg.cpp -i sigcreatedlg.h sigcreatedlg.ui
Pasul 2 -
Acum trebuie să derivaţi clasa
pe care KDevelop a generat-o pentru dumneavoastră
(clasa SigCreate) din noua
clasă dialog Qt Designer. Īn KDevelop afişaţi fişierul sigcreate.h
selectīndu-l īn File Selector şi adăugaţi
#include "sigcreatedlg.h"īn partea de sus a fişierului
sigcreate.h,
cu toate antetele de care aveţi nevoie.
#include <kapplication.h>
#include <qwidget.h>
#include <qlineedit.h>
#include <qmultilineedit.h>
#include <qcombobox.h>
#include <sigcreatedlg.h>
/** SigCreate este clasa de bază a proiectului */
class SigCreate : public SigCreateDlg
{
Īnlocuiţi public KMainWindow cu
public SigCreateDlg deoarece SigCreate
se trage din SigCreateDlg.
Īn fişierul sigcreate.h ar trebui să aveţi următoarele linii:
class SigCreate : public SigCreateDlg {
Q_OBJECT
public:
/** constructor */
SigCreate(QWidget *parent=0, const char *name=0);
/** destructor */
~SigCreate();
};
Fişierul sigcreate.cpp ar trebui să arate ca mai jos:
#include "sigcreate.h"
SigCreate::SigCreate(QWidget *parent, const char *name) : SigCreateDlg(parent, name)
{
}
SigCreate::~SigCreate()
{
}
Pasul 3 -
De asemenea trebuie să adăugaţi manual fişierele incluse.
Īn sigcreate.h adăugaţi antetele următoare,
cīte unul pentru fiecare din clasele pe care le-am folosit:
#include <qlineedit.h> #include <qcombobox.h> #include <qmultilineedit.h>Pasul 4 - Comentaţi cīteva linii din fişierul
main.cpp:
/* if (app.isRestored())
{
RESTORE(SigCreate);
}
else*/
deoarece proiectul era iniţial generat să se bazeze pe
KMainWindow ce oferă foarte multe funcţionalităţi.
.ui,
creaţi o clasă nouă, SigCreate. Pentru a face acest lucru
daţi clic dreapta pe Classes, selectaţi
şi apoi va apărea dialogul
Class Generator. Introduceţi numele clasei
(SigCreate) şi al clasei de bază
(SigCreateDlg).
Nu uitaţi să selectaţi opţiunea generate a QWidget-childclass.
La sfīrşit daţi clic pe . Nu am parcurs acel pas
deoarece clasa SigCreate este fereastra noastră principală.
.ui.
Din fişierul .ui sīnt generate automat fişierele .h
şi .cpp aşa că trebuie
să aibă nume diferite. Puteţi să evidenţiaţi un fişier de interfaţă grafică
adăugīnd dlg la numele lui. Clasa derivată
din .ui s-ar putea numi de exemplu mainWindowDlg.
Acum generaţi proiectul pentru a vedea dacă totul este corect.
Mai īntīi rulaţi
->,
->,
->
şi
->
(sau ca utilizatorul root).
La final porniţi programul cu
->
(sau Shift+F9).
Reţineţi că īn funcţie de configuraţia dumneavoastră,
dacă nu aveţi acces de scriere īn $KDEDIR,
s-ar putea să fie nevoie să executaţi
-> ca
utilizatorul root.
De asemenea puteţi să săriţi peste pasul cu instalarea. Pentru tutorialul de faţă
nu este o problemă, dar la aplicaţiile reale s-ar putea să apară probleme.
Interfaţa grafică trebuie să apară dar pentru moment
butonul nu merge. Īl vom rezolva implementīnd
slotul slotCreateSig(). Vedeţi imaginea de mai jos.
Dacă la compilare vă loviţi de eroarea
Syntax error before `{' token
făcīnd referire la acolada dreaptă īnainte de linia cu
Q_OBJECT din sigcreate.h, atunci aţi uitat să adăugaţi
#include "sigcreatedlg.h"sau fişierul
sigcreatedlg.h nu a fost creat (conform notei de mai sus).

Programul aproape gata