Qt. Иерархия классов. Структура программы с графическим интерфейсом.

В Qt все построено на объектах, главным базовым классом является QObject. Все классы, имеющие сигналы и слоты в Qt унаследованы от него. При множественном наследовании, если в иерархии планируется наличие класса QObject, его имя должно стоять первым в списке базовых классов, иначе метаобъектный компилятор Qt moc (Meta object compiler) будет ругаться.

#include <QApplication>
#include <QLabel>
#include <QPushButton>
#include <QVBoxLayout>
#include <QWidget>

int main(int argc, char *argv[]) {
    QApplication app(argc, argv);

    // Создание главного окна
    QWidget window;
    window.setWindowTitle("Пример программы");

    // Создание метки
    QLabel label("Привет, Qt!");
    
    // Создание кнопки
    QPushButton button("Нажми меня");

    // Создание компоновщика
    QVBoxLayout layout(&window);
    
    // Добавление метки и кнопки в компоновщик
    layout.addWidget(&label);
    layout.addWidget(&button);

    // Установка связей между сигналами и слотами
    QObject::connect(&button, &QPushButton::clicked, &label, &QLabel::setText);

    // Отображение главного окна
    window.show();

    // Запуск цикла обработки событий
    return app.exec();
}ut

Last updated