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

Tutorial programare KDE 3


   Antonio Larrosa
   14 martie 2002

P2: O aplicatie simpla "Hello World"

P2 este la fel ca P1 numai ca foloseste librariile KDE. La fel, tot codul este in main.cpp:


#include <kapp.h>
#include <klocale.h>
#include <qpushbutton.h>

int main( int argc, char **argv )
{
    KApplication a( argc, argv , "p2");

    QPushButton *hello=new QPushButton( i18n("Hello World !"), 0 );
    hello->setAutoResize( TRUE );

    QObject::connect( hello, SIGNAL(clicked()), &a, SLOT(quit()) );

    a.setMainWidget( hello );
    hello->show();

    return a.exec();
}

main.cpp

Sa vedem ce se intimpla.

KApplication a( argc, argv , "p2");

Codul de mai sus creeaza un obiect KApplication. KApplication este o clasa care mosteneste QApplication adaugind multe optiuni, cum ar fi suportul pentru internationalizare, configurarea aplicatiei etc.

QPushButton *hello=new QPushButton( i18n("Hello World !"), 0 );
hello->setAutoResize( TRUE );

Diferenta dintre codul de mai sus si cel utilizat in P1 consta in faptul ca acum nu folosim direct textul "Hello World!", ci rezultatul intors de functia i18n("Hello World !"). Dar ce inseamna acest lucru? Folosim i18n() deoarece aceasta functie va returna sirul de caractere "Hello World!" tradus in limba pe care utilizatorul a ales-o in modulul KControl de setare a limbii. Cu aceasta schimbare aplicatia are suport pentru mai mult de 50 limbi, limbi in care KDE a fost tradus.

Modificarea de mai sus ne obliga sa nu mai folosim o marime fixa a butonului, pentru ca nu stim cite caractere va avea sirul tradus (si n-ar fi frumos daca n-am arata tot sirul din cauza ca butonul este prea mic). Apelind hello->setAutoResize( TRUE ), butonul nostru isi va mari dimensiunea in functie de marimea textului care trebuie afisat.

Restul codului este la fel cu P1.



Traducere de Bogdan Daniel Vatra. Adaptare de Claudiu Costin.