Класс QStatusBar
Класс QStatusBar предоставляет горизонтальную панель для отображения статусной информации. Подробнее...
| Заголовок: | #include <QStatusBar> |
| qmake: | QT += widgets |
| Наследует: | QWidget |
Свойства
- sizeGripEnabled : bool
Открытые функции
| QStatusBar(QWidget *parent = Q_NULLPTR) | |
| virtual | ~QStatusBar() |
| void | addPermanentWidget(QWidget *widget, int stretch = 0) |
| void | addWidget(QWidget *widget, int stretch = 0) |
| QString | currentMessage() const |
| int | insertPermanentWidget(int index, QWidget *widget, int stretch = 0) |
| int | insertWidget(int index, QWidget *widget, int stretch = 0) |
| bool | isSizeGripEnabled() const |
| void | removeWidget(QWidget *widget) |
| void | setSizeGripEnabled(bool) |
- 211 открытых функций унаследовано от QWidget
- 31 открытых функций унаследовано от QObject
- 14 открытых функций унаследовано от QPaintDevice
Открытые слоты
| void | clearMessage() |
| void | showMessage(const QString &message, int timeout = 0) |
Сигналы
| void | messageChanged(const QString &message) |
Защищенные функции
| void | hideOrShow() |
| void | reformat() |
Переопределённые защищённые функции
| virtual bool | event(QEvent *e) |
| virtual void | paintEvent(QPaintEvent *event) |
| virtual void | resizeEvent(QResizeEvent *e) |
| virtual void | showEvent(QShowEvent *) |
- 35 защищенных функций унаследовано от QWidget
- 9 защищенных функций унаследовано от QObject
- 1 защищенная функция унаследовано от QPaintDevice
Дополнительные унаследованные члены
- 5 статических открытых членов унаследовано от QWidget
- 11 статических открытых членов унаследовано от QObject
- 1 защищенный слот унаследовано от QWidget
Подробное описание
Класс QStatusBar предоставляет горизонтальную панель для отображения статусной информации.
Каждый индикатор статуса относится к одной из трёх категорий:
- Временный - кратковременно занимает большую часть панели состояния. Используется для пояснений подсказок инструментов или пунктов меню, например.
- Обычный - занимает часть панели состояния и может быть скрыт временными сообщениями. Используется для отображения номера страницы и строки в текстовом редакторе, например.
- Постоянный - никогда не скрывается. Используется для важных индикаций режима, например, некоторые приложения размещают индикатор Caps Lock на панели состояния.
QStatusBar позволяет отображать все три типа индикаторов.
Как правило, запрос функциональности панели состояния происходит в отношении объекта QMainWindow. QMainWindow предоставляет главное окно приложения с панелью меню, панелями инструментов, виджетами привязки и панелью состояния вокруг большого центрального виджета. Панель состояния можно получить с помощью функции QMainWindow::statusBar() и заменить с помощью функции QMainWindow::setStatusBar().
Используйте слот showMessage(), чтобы отобразить временное сообщение:
void MainWindow::createStatusBar()
{
statusBar()->showMessage(tr("Ready"));
} Чтобы удалить временное сообщение, используйте слот clearMessage() или задайте временной лимит при вызове showMessage(). Например:
void MainWindow::print()
{
#ifndef QT_NO_PRINTDIALOG
QTextDocument *document = textEdit->document();
QPrinter printer;
QPrintDialog dlg(&printer, this);
if (dlg.exec() != QDialog::Accepted) {
return;
}
document->print(&printer);
statusBar()->showMessage(tr("Ready"), 2000);
#endif
} Используйте функцию currentMessage(), чтобы получить временно отображаемое сообщение. Класс QStatusBar также предоставляет сигнал messageChanged(), который излучается всякий раз, когда временное сообщение о состоянии изменяется.
Обычные и постоянные сообщения отображаются путём создания небольшого виджета (QLabel, QProgressBar или даже QToolButton) и его добавления в панель состояния с помощью функций addWidget() или addPermanentWidget(). Используйте функцию removeWidget(), чтобы удалить такие сообщения с панели состояния.
statusBar()->addWidget(new MyReadWriteIndication);
По умолчанию QStatusBar предоставляет QSizeGrip в правом нижнем углу. Вы можете отключить его с помощью функции setSizeGripEnabled(). Используйте функцию isSizeGripEnabled(), чтобы определить текущее состояние захвата размера.
См. также QMainWindow, QStatusTipEvent, Руководство по разработке пользовательского интерфейса: Панель состояния и Пример приложения.
Документация по свойствам
sizeGripEnabled : bool
Это свойство указывает, включён ли QSizeGrip в правом нижнем углу панели состояния.
Захват размера включён по умолчанию.
Функции доступа:
| bool | isSizeGripEnabled() const |
| void | setSizeGripEnabled(bool) |
Документация по членам функции
QStatusBar::QStatusBar(QWidget *parent = Q_NULLPTR)
Конструирует панель состояния с захватом размера и заданным parent.
См. также setSizeGripEnabled().
[virtual] QStatusBar::~QStatusBar()
Удаляет эту панель состояния и освобождает все выделенные ресурсы и дочерние виджеты.
void QStatusBar::addPermanentWidget(QWidget *widget, int stretch = 0)
Добавляет заданный виджет widget постоянно в эту строку состояния, переродив виджет, если он не является уже дочерним элементом этого объекта QStatusBar. Параметр stretch используется для вычисления подходящего размера для заданного widget по мере увеличения и уменьшения строки состояния. Значение по умолчанию для stretch равно 0, т.е. виджету предоставляется минимальное пространство.
Постоянно означает, что виджет не может быть скрыт временными сообщениями. Он расположен в самом правом углу строки состояния.
См. также insertPermanentWidget(), removeWidget() и addWidget().
void QStatusBar::addWidget(QWidget *widget, int stretch = 0)
Добавляет заданный widget в эту строку состояния, переродив виджет, если он не является уже дочерним элементом этого объекта QStatusBar. Параметр stretch используется для вычисления подходящего размера для заданного widget по мере увеличения и уменьшения строки состояния. Значение по умолчанию для stretch равно 0, т.е. виджету предоставляется минимальное пространство.
Виджет расположен в самом левом углу слева от первого постоянного виджета (см. addPermanentWidget()) и может быть скрыт временными сообщениями.
См. также insertWidget(), removeWidget() и addPermanentWidget().
[slot] void QStatusBar::clearMessage()
Удаляет любое временное отображаемое сообщение.
См. также currentMessage(), showMessage() и removeWidget().
QString QStatusBar::currentMessage() const
Возвращает временно отображаемое сообщение, или пустую строку, если такого сообщения нет.
См. также showMessage().
[virtual protected] bool QStatusBar::event(QEvent *e)
Переопределено из QObject::event().
[protected] void QStatusBar::hideOrShow()
Обеспечивает видимость нужных виджетов.
Используется функциями showMessage() и clearMessage().
int QStatusBar::insertPermanentWidget(int index, QWidget *widget, int stretch = 0)
Вставляет заданный widget в заданный index постоянно в эту строку состояния, переродив виджет, если он не является уже дочерним элементом этого объекта QStatusBar. Если index выходит за пределы диапазона, виджет добавляется в конец (в этом случае возвращается фактический индекс виджета).
Параметр stretch используется для вычисления подходящего размера для заданного widget по мере увеличения и уменьшения строки состояния. Значение по умолчанию для stretch равно 0, т.е. виджету предоставляется минимальное пространство.
Постоянно означает, что виджет не может быть скрыт временными сообщениями. Он расположен в самом правом углу строки состояния.
Эта функция была добавлена в Qt 4.2.
См. также addPermanentWidget(), removeWidget() и addWidget().
int QStatusBar::insertWidget(int index, QWidget *widget, int stretch = 0)
Вставляет заданный widget в заданный index в эту строку состояния, переродив виджет, если он не является уже дочерним элементом этого объекта QStatusBar. Если index выходит за пределы диапазона, виджет добавляется в конец (в этом случае возвращается фактический индекс виджета).
Параметр stretch используется для вычисления подходящего размера для заданного widget по мере увеличения и уменьшения строки состояния. Значение по умолчанию для stretch равно 0, т.е. виджету предоставляется минимальное пространство.
Виджет расположен в самом левом углу слева от первого постоянного виджета (см. addPermanentWidget()) и может быть скрыт временными сообщениями.
Эта функция была добавлена в Qt 4.2.
См. также addWidget(), removeWidget() и addPermanentWidget().
[signal] void QStatusBar::messageChanged(const QString &message)
Этот сигнал испускается всякий раз, когда временное сообщение состояния изменяется. Новое временное сообщение передается в параметре message, который является пустой строкой, когда сообщение было удалено.
См. также showMessage() и clearMessage().
[virtual protected] void QStatusBar::paintEvent(QPaintEvent *event)
Переопределено из QWidget::paintEvent().
Отображает временное сообщение, если это необходимо, в ответ на событие рисования event.
[protected] void QStatusBar::reformat()
Изменяет внешний вид строки состояния, чтобы учесть изменения элементов.
Специальные подклассы могут потребовать этой функции, но управление геометрией обычно позаботится о необходимых перестановках.
void QStatusBar::removeWidget(QWidget *widget)
Удаляет указанный widget из строки состояния.
Примечание: Эта функция не удаляет виджет, а скрывает его. Чтобы снова добавить виджет, необходимо вызвать функции addWidget() и show().
См. также addWidget(), addPermanentWidget() и clearMessage().
[virtual protected] void QStatusBar::resizeEvent(QResizeEvent *e)
Переопределено из QWidget::resizeEvent().
[virtual protected] void QStatusBar::showEvent(QShowEvent *)
Переопределено из QWidget::showEvent().
[slot] void QStatusBar::showMessage(const QString &message, int timeout = 0)
Скрывает стандартные указатели состояния и отображает заданное message на указанное количество миллисекунд (timeout). Если timeout равно 0 (по умолчанию), message остается отображенным до тех пор, пока не будет вызван слот clearMessage() или пока не будет снова вызван слот showMessage() для изменения сообщения.
Обратите внимание, что showMessage() используется для отображения временных пояснений к текстам подсказок, поэтому передача timeout равного 0 недостаточно для отображения постоянного сообщения.
См. также messageChanged(), currentMessage() и clearMessage().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/archives/qt-5.6/qstatusbar.html