Pagina principala
Informatii
Internationalizarea
pROgrame KDE/Qt
Download
Documentatii
Despre LKR
Contact
Resurse
Harta site-ului

Programarea setarilor utilizator in KDE 3


   Andreas Nicolai
   18 Mai 2003

Partea I: Sa incepem

In primul rind vom crea un proiect KDE cu KDevelop. Selectati meniul "Project -> New Project...", apoi alegeti C++/KDE/Simple KDE Application si completati cimpurile. Va sugerez ca numele aplicatiei sa fie "SettingsTutorial" deoarece il folosesc in exemple. Dupa ce vrajitorul (wizard) s-a terminat, compilati programul si vedeti daca ruleaza. Ar trebui sa vedeti un program simplu KDE "Hello World".

Daca ati fi creat un proiect mai complex "KDE Application Framework" ati fi salvat din munca, dar acest tutorial va merge pe calea cea lunga...

Fara
KDevelop:
Daca ar fi sa construiti totul de mina ar dura ceva timp. Va recomand sa incepeti cu sursele aflate la sfirsitul partii a doua.

Vrajitorul a generat trei fisiere cu surse:
  main.cpp programul principal, creaza obiectul aplicatiei si il ruleaza
  settingstutorial.h declaratia ferestrei principale a aplicatiei
  settingstutorial.cpp implementarea ferestrei principale

Vom ignora main.cpp deocamdata (in acest tutorial nu este important) si vom arunca o privire asupra celorlalte doua fisiere:


#ifndef _SETTINGSTUTORIAL_H_
#define _SETTINGSTUTORIAL_H_

#ifdef HAVE_CONFIG_H
#include <config.h>
#endif

#include <kmainwindow.h>

class SettingsTutorial : public KMainWindow {
    Q_OBJECT
  public:
    SettingsTutorial();
    virtual ~SettingsTutorial();
};

#endif // _SETTINGSTUTORIAL_H_
settingstutorial.h


#include "settingstutorial.h"
#include "settingstutorial.moc"

#include <qlabel.h>

#include <kmainwindow.h>
#include <klocale.h>

SettingsTutorial::SettingsTutorial() : KMainWindow(0, "SettingsTutorial")
{
    setXMLFile("settingstutorialui.rc");
    new QLabel( "Hello World", this, "hello label" );
}

SettingsTutorial::~SettingsTutorial()
{
}
settingstutorial.cpp

Nota:
Am scos comentariile, dar in afara de acestea ar trebui sa arate similar cu cel pe care (sper) l-ati creat.

Fereastra principala a dialogului de preferinte este derivata din clasa KMainWindow care ne aduce numeroase widget-uri interesante (vedeti si documentatia librariilor KDE).

Cele doua linii in constructor nu fac nimic special. Prima, setXMLFile(), poate fi stearsa atita timp cit nu avem un fisier rc pentru interfata cu utilizatorul (va fi explicat in alt tutorial). A doua linie creeaza o eticheta QLabel care afiseaza textul "Hello World".

O scurta lamurire despre linia cu fisierul moc. Fisierele MOC sint generate automat si contin toate functiile si declaratiile necesare compilarii macrourilor QObject. Deci, de fiecare data cind veti crea o clasa care mosteneste clasa QObject (sau oricare din fiii acesteia) va fi creat un fisier moc care va contine codul necesar compilarii! Cum am spus, fisierele moc contin definitii si declaratii aditionale si incluzindu-l in fisierul CPP inseamna ca acesta (codul din fisierul moc) va fi compilat impreuna cu codul sursa al widget-ului. Compilarea dureaza ceva daca includem fisierul moc la sfirsit, asa ca este recomandat sa il includem imediat dupa antetul fisierului (dupa ce includem fisierul cu aceeasi denumire, dar cu extensia .h).

Cam atit in prima parte. Acum avem un cadru de lucru cu care sa ne "jucam".



Traducere de Bogdan Daniel Vatra. Adaptare de Claudiu Costin.