⭐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();
}utPreviousQt. Основные графические виджеты. Связь кода и разметки. Компоновка виджетов.NextQt. Событийная модель: слоты и сигналы. Автоматическое и ручное связывание.Пример нажатия на кнопку
Last updated