...
Qt:n
...
ideaa
...
Qt
...
on
Projekti,
...
Application
...
ja
...
Label
...
Qt:n
...
yksi
...
tärkeimmistä
...
tiedostoista
...
on
...
projektitiedosto,
...
tästä
...
...
ohjelma
...
osaa
...
tehdä
...
automaattisesti
...
...
-tiedoston.
...
Ensimäisessä
...
esimerkissämme
...
projektitiedostossa
...
terve.pro
...
kerrotaan,
...
että
...
ollaan
...
tekemässä
...
sovellusta
...
"application",
...
siitä
...
app
...
ja
...
ohjelmaan
...
sisällytetään
...
lähdekoodit
...
SOURCES,
...
nyt
...
terve.cpp
Code Block |
---|
{code} TEMPLATE = app SOURCES = terve.cpp {code} Varsinainen ohjelma |
Varsinainen ohjelma terve.cpp
...
on
...
esitetty
...
alla
...
olevassa
...
"laatikossa"
Code Block |
---|
{code} #include <QApplication> // Kyseessä Qt-sovellus #include <QLabel> // Label eli ilmoitusikkuna int main(int argc, char *argv[]) { QApplication app(argc, argv); //luodaan pinoon sovellus QLabel *label = new QLabel("Terve, eka Qt-sovellus!"); label->show(); return app.exec(); //täällä ollaan kunnes sovellus sulkeutuu } {code} h1. |
PushButton,
...
SIGNAL
...
ja
...
SLOT
...
Tässä
...
esimerkissä
...
opetellaan
...
painonappien,
...
signaalien
...
ja
...
slotien
...
käyttöä.
...
Signaalit
...
ja
...
slotit
...
ovat
...
Qt:n
...
tärkeimmät
...
elementit
...
tiedon
...
välitykseen
...
ja
...
ohjelman
...
kulun
...
konrollointiin
...
Qt-ympäristössä.
...
Projektitiedosto
...
loppu.pro
Code Block |
---|
} TEMPLATE = app SOURCES = loppu.cpp {code} |
Varsinainen
...
ohjelma
...
on
...
loppu.cpp
...
tiedostossa
Code Block |
---|
{code} #include <QApplication> #include <QPushButton> int main(int argc, char *argv[]) { QApplication app(argc, argv); QPushButton *nappi = new QPushButton("LOPPU");//esitellään nappi // yhdistetään napin signaali clicked sovelluksen slotiin quit QObject::connect(nappi, SIGNAL(clicked()),&app, SLOT(quit())); nappi->show();//näytetään nappi huomaa -> , koska nappi on osoitin kekoon return app.exec(); } {code} h1. |
QHBoxLayout,
...
QSlider
...
ja
...
QSpinBox
...
Projektitiedosto
...
ika.pro
Code Block |
---|
} TEMPLATE = app SOURCES = ika.cpp {code} |
Varsinainen
...
ohjelma
...
on
...
ika.cpp
...
tiedostossa
Code Block |
---|
} #include <QApplication> #include <QHBoxLayout> #include <QSlider> #include <QSpinBox> int main(int argc, char *argv[]) { QApplication app(argc, argv); QWidget *window = new QWidget;//luodaan mikä tahansa elementti window->setWindowTitle("Anna ikasi:"); QSpinBox *spinBox = new QSpinBox;//luodaan spinbox kekoon QSlider *slider = new QSlider(Qt::Horizontal);//luodaan spinbox kekoon, huomaa parametri, jolla saadaan asetettua sliderin suunta spinBox->setRange(0, 130);//määrätään spboxin rajat slider->setRange(0, 130); QObject::connect(spinBox, SIGNAL(valueChanged(int)),slider, SLOT(setValue(int)));//liitetään spinbox slideriin QObject::connect(slider, SIGNAL(valueChanged(int)),spinBox, SLOT(setValue(int)));//liitetään slider spinboxiin spinBox->setValue(35);//annetaan alkuarvo, koska slider ja spinbox "naitettiin" keskenään, menee arvo molemmille QHBoxLayout *layout = new QHBoxLayout;//tehdään vaakasuora layout ja varataansille tilaa keosta layout->addWidget(spinBox);//lisätään vasemmalla layoutiin spinbox layout->addWidget(slider);//lisätään oikealle layoutiin slider window->setLayout(layout);//lisätään layout näytettävään ikkunaan window->show();//näytetään ikkuna return app.exec();//suoritetaan sovellus } {code} |