Generarea codului sursă
Înapoi
Înainte

Generarea codului sursă

În acest tutorial vom folosi controlul de subclasare KDevelop din Automake Manager. Dacă aveţi o versiune KDevelop care nu are această capacitate treceţi la Cap. 7, Generarea codului sursă (altă metodă) unde acest pas este explicat fără utilizarea acestui control.

Vom porni de la proiectul KDE intitulat SigCreate şi sigcreatedlg.ui pe care l-am adăugat la acest proiect. În Automake Manager, în secţiunea sigcreate trebuie să aveţi trei fişiere: sigcreatedlg.ui, sigcreate.cpp şi main.cpp. Proiectul trebuie să poată fi compilat şi să afişeze o fereastră principală ca în figura din Cap. 3, Crearea aplicaţiei.

Cum clasa sigcreate nu ne este de folos o vom îndepărta şi o vom folosi pentru subclasarea sigcreate.dlg. În fereastra Automake Manager, daţi clic dreapta pe sigcreate.cpp şi selectaţi Remove. În fereastra ce va apărea bifaţi şi Also Remove it from Disk. Procedaţi similar şi cu sigcreate.h. Aceasta este modalitatea de a şterge fişiere care nu vă mai sînt necesare, Makefile.am fiind actualizat. Nu uitaţi să rulaţi automake & friends şi să configuraţi înaintea compilării proiectului. Nu vom proceda astfel deoarece vom face şi alte schimbări. Numele de clasă SigCreate va fi acum folosit pentru subclasă.

În Automake Manager, în sigcreate, daţi clic dreapta pe sigcreatedlg.ui şi alegeţi Subclass Widget din meniu ce apare. Completaţi numele subclasei cu SigCreate. Bifaţi căsuţa Reformat source şi apăsaţi OK. Nu adăugaţi fişierele în SVN deoarece această opţiune nu a fost activată în proiectul nostru.

Notă

Puteţi vedea că slotul pe care l-am creat în Qt Designer este listat aici şi selectat. Metoda va fi implementată în fişierele generate. Dacă îl deselectaţi, nu va fi generat codul în clasa dumneavoastră.


Dialogul subclasei

Dialogul subclasei


Trebuie să eliminăm cîteva linii din main.cpp deoarece proiectul model de aplicaţie simplă KDE face referire la KMainWindow care în mod normal este clasa de bază utilizată. Dar aici SigCreate este bazat pe QWidget. Trebuie să ştergeţi toate liniile dintre KApplication app; şi return app.exec(); cu excepţia celor păstrate aici:

    SigCreate *mainWin = 0;

        mainWin = new SigCreate();
        app.setMainWidget( mainWin );
        mainWin->show();

Înapoi
Înainte
Acasă