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, упрощая разработку и улучшая пользовательский опыт.