이 페이지에서

QStatusBar Class

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

헤더: #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

상세 설명

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

  • 임시 - 상태 표시줄의 대부분을 잠시 차지합니다. 예를 들어, 툴팁 텍스트나 메뉴 항목을 설명하는 데 사용됩니다.
  • 일반 - 상태 표시줄의 일부를 차지하며, 일시적인 메시지에 의해 가려질 수 있습니다. 예를 들어, 워드 프로세서에서 페이지 번호와 줄 번호를 표시하는 데 사용됩니다.
  • 영구 - 절대 숨겨지지 않습니다. 중요한 모드 표시를 위해 사용되며, 예를 들어 일부 응용 프로그램에서는 상태 표시줄에 Caps Lock 표시기를 표시합니다.

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() 함수를 사용하여 크기 조정 핸들의 현재 상태를 확인할 수 있습니다.

Fusion 위젯 스타일로 표시되는 상태 표시줄

QMainWindow 및 QStatusTipEvent도 참조하십시오 .

속성 문서

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이며, 이는 위젯에 최소한의 공간만 할당함을 의미합니다.

'영구적(Permanent)'이란 위젯이 일시적인 메시지에 의해 가려지지 않을 수 있음을 의미합니다. 이 위젯은 상태 표시줄의 맨 오른쪽에 위치합니다.

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 *event)를 재구현합니다.

[protected] void QStatusBar::hideOrShow()

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

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

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

지정된 widget 를 지정된 index 위치에 이 상태 표시줄에 영구적으로 삽입하며, 해당 위젯이 아직 이 QStatusBar 객체의 자식이 아닌 경우 부모-자식 관계를 재설정합니다. index 가 허용 범위를 벗어날 경우, 위젯은 끝에 추가됩니다(이 경우 반환되는 값은 위젯의 실제 인덱스입니다).

stretch 매개변수는 상태 표시줄이 확장되거나 축소될 때 지정된 widget 에 적합한 크기를 계산하는 데 사용됩니다. 기본 스트레치 계수는 0이며, 이는 위젯에 최소한의 공간만 할당함을 의미합니다.

'영구적(Permanent)'이란 위젯이 일시적인 메시지에 의해 가려지지 않음을 의미합니다. 이 위젯은 상태 표시줄의 맨 오른쪽에 위치합니다.

addPermanentWidget(), removeWidget(), addWidget()도 참조하십시오 .

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

지정된 widget 를 이 상태 표시줄의 지정된 index 위치에 삽입하며, 해당 위젯이 아직 이 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)를 재구현합니다.

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 *event)를 재구현합니다.

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

QWidget::showEvent(QShowEvent *event)를 재구현합니다.

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

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

showMessage()는 툴팁 텍스트에 대한 임시 설명을 표시하기 위해 호출되므로, timeout 에 0을 전달하는 것만으로는 permanent message 를 표시하기에 충분하지 않습니다.

messageChanged(), currentMessage() 및 clearMessage()도 참조하십시오 .

© 2026 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.