Introdução ao Qt

Introdução

Quem, onde, como?

Francisco Borges Fernandes Júnior

O quê?

Hello, Qt

O que é o Qt

Breve histórico do Qt

O escopo inicial de C++ para Qt

Hello, GUI World


#include <QApplication>
#include <QPushButton>

int main(int argc, char *argv)
{
    QApplication app(argc, argv);
    QPushButton hello("Hello GUI world!");
    hello.show();

    return app.exec()
}


Loop de eventos

Loop de eventos

Signals and Slots

Modelo de Objetos

Modelo de Objetos: QObject

Exemplo



class MyWidget : public QLabel
{
...
public:
    MyWidget(QWidget *parent = 0);
}

...

MyWidget::MyWidget(QWidget *parent) : QLabel(parent)
{
    //implementation here
}

...

QMainWindow *mainWindow = new QMainWindow();
MyWidget *myWidget = new MyWidget(mainWindow);

void MainWindow::setWidget(MyWidget *widget)
{
    widget->setParent(this);
...
}

Modelo de Objetos: Q_OBJECT

Exemplo



class MyWidget : public QLabel
{
Q_OBJECT
...
public:
    MyWidget(QWidget *parent = 0);

slots:
    QString myCustomSlot(int value);

signals:
    void myCustomSignal(int value);

}

...

MyWidget *myWidget = new MyWidget(mainWindow);

QObject::connect(myWidget, SLOT(myCustomSlot(int)),
                 myWidget, SIGNAL(myCustomSignal(int)))

Modelo de Objetos: MOC