Spec-Zone.ru › Qt 5.9

Класс QStatusBar

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

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

Свойства

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

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

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)
  • 214 открытых функций унаследовано от QWidget
  • 32 открытых функции унаследовано от 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)
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()
{
#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 = 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/qt-5.9/qstatusbar.html

Spec-Zone.ru

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