Qt Creator: QMessageBox, слои и отступы (Урок 3)

QMessageBox

Компонент QMessageBox отображает всплывающие окна. Для использования подключите его:

#include <QMessageBox>

Создадим кнопку и свяжем с ней событие, отображающее диалоговое окно:

void on_pushButton_clicked()
{
    QMessageBox::about(this, "Заголовок", "Текст внутри");
}

Метод about принимает родительский объект, заголовок и текст сообщения. Результат – всплывающее окно. Заголовок может не отображаться в зависимости от операционной системы.

Существуют другие методы:

  • QMessageBox::aboutQt(): Информация о Qt.
  • QMessageBox::critical(): Сообщение об ошибке.
  • QMessageBox::information(): Информационное сообщение.
  • QMessageBox::warning(): Предупреждающее сообщение.
  • QMessageBox::question(): Вопрос с кнопками «Да» и «Нет».

Пример использования question с получением ответа:

int reply = QMessageBox::question(this, "Вопрос", "Ваш вопрос?", QMessageBox::Yes | QMessageBox::No);

if (reply == QMessageBox::Yes) {
    QApplication::quit();
} else {
    qDebug() << "Кнопка 'Нет' была нажата";
}

reply будет 0 (Нет) или 1 (Да).

Слои в приложениях Qt

При создании приложения слои добавляются вручную. Типы слоев:

  • QVBoxLayout (вертикальный)
  • QHBoxLayout (горизонтальный)
  • QGridLayout (сетка)
  • QFormLayout (форма)

Добавьте слой, выделив приложение, нажав правую кнопку мыши, выбрав «Компоновка» и нужный тип. Слои удобно располагают объекты. sizePolicy управляет размером элементов. Например, QSizePolicy::Expanding для вертикального размера растянет элемент на всю высоту.

Разделители и отступы

QSpacerItem добавляет горизонтальные и вертикальные отступы. Изменяйте размеры отступов в редакторе для гибкого управления размещением элементов.

QMessageBox, слои и отступы позволяют создавать интерактивные и хорошо организованные приложения в Qt Creator, упрощая разработку и улучшая пользовательский опыт.

Что будем искать? Например,программа