Spec-Zone.ru › Qt 5.11

Класс QStatusBar

Класс QStatusBar предоставляет горизонтальную строку для отображения статусной информации. Подробнее...

Заголовок: #include <QStatusBar>
qmake: QT += widgets
Наследует: QWidget
  • Список всех членов, включая унаследованные

Свойства

  • sizeGripEnabled : bool
  • 59 свойств унаследовано от QWidget
  • 1 свойство унаследовано от QObject

Открытые функции

QStatusBar(QWidget *parent = 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)
  • 214 открытых функций унаследовано от QWidget
  • 34 открытых функций унаследовано от QObject
  • 14 открытых функций унаследовано от QPaintDevice

Открытые слоты

void clearMessage()
void showMessage(const QString &message, int timeout = 0)
  • 19 открытых слотов унаследовано от QWidget
  • 1 открытый слот унаследовано от QObject

Сигналы

void messageChanged(const QString &message)
  • 3 сигнала унаследовано от QWidget
  • 2 сигнала унаследовано от QObject

Защищённые функции

void hideOrShow()
void reformat()

Переопределённые защищённые функции

virtual bool event(QEvent *e) override
virtual void paintEvent(QPaintEvent *event) override
virtual void resizeEvent(QResizeEvent *e) override
virtual void showEvent(QShowEvent *) override
  • 35 защищённых функций унаследовано от QWidget
  • 9 защищённых функций унаследовано от QObject
  • 1 защищённая функция унаследовано от QPaintDevice

Дополнительные унаследованные члены

  • 1 открытая переменная унаследована от QObject
  • 5 статических открытых членов унаследовано от QWidget
  • 10 статических открытых членов унаследовано от QObject
  • 1 защищённый слот унаследовано от QWidget
  • 2 защищённых переменных унаследовано от QObject
  • 1 защищённый тип унаследовано от QPaintDevice

Подробное описание

Класс QStatusBar предоставляет горизонтальную строку для отображения статусной информации.

Каждый индикатор статуса относится к одной из трёх категорий:

  • Временный - кратко занимает большую часть строки состояния. Используется для пояснения подсказок инструментов или пунктов меню, например.
  • Нормальный - занимает часть строки состояния и может быть скрыт временными сообщениями. Используется для отображения номера страницы и строки в текстовом редакторе, например.
  • Постоянный - никогда не скрывается. Используется для важных индикаций режимов, например, некоторые приложения размещают индикатор Caps Lock в строке состояния.

QStatusBar позволяет отображать все три типа индикаторов.

Обычно запрос функциональности строки состояния происходит в связи с объектом QMainWindow. QMainWindow предоставляет главное окно приложения с адресной строкой, панелями инструментов, виджетами доков и строкой состояния вокруг большого центрального виджета. Строку состояния можно получить с помощью функции QMainWindow::statusBar() и заменить с помощью функции QMainWindow::setStatusBar().

Используйте слот showMessage() для отображения временного сообщения:

void MainWindow::createStatusBar()
{
    statusBar()->showMessage(tr("Ready"));
}

Для удаления временного сообщения используйте слот clearMessage() или установите временной предел при вызове showMessage(). Например:

void MainWindow::print()
{
#if QT_CONFIG(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() для определения текущего состояния захвата размера.

A status bar shown in the Fusion widget style

См. также QMainWindow, QStatusTipEvent, Руководство по разработке графического интерфейса: Строка состояния и Пример приложения.

Документация по свойствам

sizeGripEnabled : bool

Это свойство указывает, включён ли QSizeGrip в правом нижнем углу строки состояния.

Захват размера включён по умолчанию.

Функции доступа:

bool isSizeGripEnabled() const
void setSizeGripEnabled(bool)

Документация по членам функции

QStatusBar::QStatusBar(QWidget *parent = 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().

[override virtual protected] bool QStatusBar::event(QEvent *e)

Переопределено из QWidget::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().

[override 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().

[override virtual protected] void QStatusBar::resizeEvent(QResizeEvent *e)

Переопределено из QWidget::resizeEvent().

[override 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.11/qstatusbar.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API