QStatusBar Class

QStatusBar 클래스는 상태 정보를 표시하는 데 적합한 가로 막대를 제공합니다. 더 보기...

Header: #include <QStatusBar>
CMake: find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake: QT += widgets
상속합니다: QWidget

속성

공용 기능

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)

공용 슬롯

void clearMessage()
void showMessage(const QString &message, int timeout = 0)

신호

void messageChanged(const QString &message)

보호된 함수

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

상세 설명

각 상태 표시기는 세 가지 범주 중 하나에 속합니다:

  • 임시 - 상태 표시줄의 대부분을 짧게 차지합니다. 예를 들어 도구 팁 텍스트나 메뉴 항목을 설명하는 데 사용됩니다.
  • 일반 - 상태 표시줄의 일부를 차지하며 임시 메시지에 의해 숨겨질 수 있습니다. 예를 들어 워드 프로세서에서 페이지 및 줄 번호를 표시하는 데 사용됩니다.
  • 영구 - 절대 숨겨지지 않습니다. 중요한 모드 표시(예: 일부 애플리케이션은 상태 표시줄에 캡스 잠금 표시기를 표시)에 사용됩니다.

QStatusBar를 사용하면 세 가지 유형의 표시기를 모두 표시할 수 있습니다.

일반적으로 상태 표시줄 기능에 대한 요청은 QMainWindow 개체와 관련하여 발생합니다. QMainWindow 메뉴 표시줄, 도구 모음, 독 위젯 큰 중앙 위젯 주위의 상태 표시줄이 있는 기본 애플리케이션 창을 제공합니다. 상태 표시줄은 QMainWindow::statusBar() 함수를 사용하여 검색하고 QMainWindow::setStatusBar() 함수를 사용하여 교체할 수 있습니다.

임시 메시지를 표시하려면 showMessage() 슬롯을 사용합니다:

statusBar()->showMessage(tr("Ready"));

임시 메시지를 제거하려면 clearMessage() 슬롯을 사용하거나 showMessage() 호출 시 시간 제한을 설정합니다. 예를 들어

statusBar()->showMessage(tr("Ready"), 2000);

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

QMainWindowQStatusTipEvent참조하세요 .

속성 문서

sizeGripEnabled : bool

이 속성은 상태 표시줄의 오른쪽 하단에 있는 QSizeGrip 의 활성화 여부를 나타냅니다.

크기 그립은 기본적으로 활성화되어 있습니다.

액세스 함수:

bool isSizeGripEnabled() const
void setSizeGripEnabled(bool)

멤버 함수 문서

[explicit] QStatusBar::QStatusBar(QWidget *parent = nullptr)

크기 그립과 주어진 parent 으로 상태 표시줄을 구성합니다.

setSizeGripEnabled()도 참조하세요 .

[virtual noexcept] QStatusBar::~QStatusBar()

이 상태 표시줄을 삭제하고 할당된 모든 리소스와 하위 위젯을 해제합니다.

void QStatusBar::addPermanentWidget(QWidget *widget, int stretch = 0)

지정된 widget 을 이 상태 표시줄에 영구적으로 추가하고, 이 QStatusBar 객체의 자식이 아닌 경우 위젯의 부모를 다시 지정합니다. stretch 매개변수는 상태 표시줄이 커지고 작아질 때 주어진 widget 에 적합한 크기를 계산하는 데 사용됩니다. 기본 스트레치 계수는 0으로, 위젯에 최소한의 공간을 제공합니다.

영구적으로 설정하면 위젯이 임시 메시지로 가려지지 않을 수 있습니다. 위젯은 상태 표시줄 맨 오른쪽에 있습니다.

insertPermanentWidget(), removeWidget() 및 addWidget()도 참조하세요 .

void QStatusBar::addWidget(QWidget *widget, int stretch = 0)

지정된 widget 을 이 상태 표시줄에 추가하고, 이 QStatusBar 객체의 자식이 아닌 경우 위젯의 부모를 다시 지정합니다. stretch 매개변수는 상태 표시줄이 커지고 작아질 때 주어진 widget 에 적합한 크기를 계산하는 데 사용됩니다. 기본 스트레치 계수는 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(QEvent * 이벤트).

[protected] void QStatusBar::hideOrShow()

올바른 위젯이 표시되도록 합니다.

showMessage() 및 clearMessage() 함수에서 사용됩니다.

int QStatusBar::insertPermanentWidget(int index, QWidget *widget, int stretch = 0)

지정된 index 에 지정된 widget 을 이 상태 표시줄에 영구적으로 삽입하여 위젯이 아직 이 QStatusBar 객체의 자식이 아닌 경우 위젯의 부모를 다시 지정합니다. index 가 범위를 벗어나면 위젯이 추가됩니다(이 경우 반환되는 것은 위젯의 실제 인덱스입니다).

stretch 매개변수는 상태 표시줄이 커지고 작아질 때 주어진 widget 에 적합한 크기를 계산하는 데 사용됩니다. 기본 스트레치 계수는 0으로, 위젯에 최소한의 공간을 제공합니다.

영구적으로 설정하면 위젯이 임시 메시지로 가려지지 않을 수 있습니다. 위젯은 상태 표시줄 맨 오른쪽에 있습니다.

addPermanentWidget(), removeWidget() 및 addWidget()도 참조하세요 .

int QStatusBar::insertWidget(int index, QWidget *widget, int stretch = 0)

지정된 index 에 지정된 widget 을 이 상태 표시줄에 삽입하여 위젯이 아직 이 QStatusBar 객체의 자식이 아닌 경우 위젯의 부모를 다시 지정합니다. index 이 범위를 벗어나면 위젯이 추가됩니다(이 경우 반환되는 것은 위젯의 실제 인덱스입니다).

stretch 매개변수는 상태 표시줄이 커지거나 줄어들 때 주어진 widget 에 적합한 크기를 계산하는 데 사용됩니다. 기본 스트레치 계수는 0으로, 위젯에 최소한의 공간을 제공합니다.

위젯은 첫 번째 영구 위젯의 맨 왼쪽에 위치하며( addPermanentWidget() 참조) 임시 메시지에 가려질 수 있습니다.

addWidget(), removeWidget() 및 addPermanentWidget()도 참조하세요 .

[signal] void QStatusBar::messageChanged(const QString &message)

이 신호는 임시 상태 메시지가 변경될 때마다 발생합니다. 새 임시 메시지는 메시지가 제거된 경우 널 문자열인 message 매개변수에 전달됩니다.

showMessage() 및 clearMessage()도 참조하세요 .

[override virtual protected] void QStatusBar::paintEvent(QPaintEvent *event)

다시 구현합니다: QWidget::paintEvent(QPaintEvent * 이벤트).

페인트에 대한 응답으로 적절한 경우 임시 메시지를 표시합니다 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(QResizeEvent * 이벤트).

[override virtual protected] void QStatusBar::showEvent(QShowEvent *)

다시 구현합니다: QWidget::showEvent(QShowEvent * 이벤트).

[slot] void QStatusBar::showMessage(const QString &message, int timeout = 0)

일반 상태 표시를 숨기고 지정된 밀리초(timeout) 동안 지정된 message 을 표시합니다. timeout 가 0(기본값)인 경우 clearMessage() 슬롯이 호출되거나 showMessage() 슬롯을 다시 호출하여 메시지를 변경할 때까지 message 이 계속 표시됩니다.

showMessage()는 도구 설명 텍스트의 임시 설명을 표시하기 위해 호출되므로 timeout 을 0으로 전달해도 permanent message 을 표시할 수 없습니다.

messageChanged(), currentMessage() 및 clearMessage()도 참조하세요 .

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.