赞
踩
目录
状态栏是应⽤程序中输出简要信息的区域。⼀般位于主窗⼝的最底部,⼀个窗⼝中最多只能有⼀个状态栏。在 Qt 中,状态栏是通过 QStatusBar类 来实现的。
在状态栏中可以显⽰的消息类型有:
- 实时消息:如当前程序状态
- 永久消息:如程序版本号,机构名称
- 进度消息:如进度条提⽰,百分百提⽰
QStatusBar是Qt框架为了实现状态栏提供的类,用于在应用程序窗口底部显示状态信息。它可以显示一些固定的文本和图标,并且可以通过API动态更新显示内容。
属性 | 说明 |
currentMessage | 当前显示的文本消息。 可以使用setCurrentMessage()方法来设置。 |
sizeGripEnabled | 是否显示大小调整控件。 默认情况下,状态栏右侧会显示一个大小调整的小部件,可以通过设置该属性为false来隐藏它。 |
visible | 状态栏的可见性。 可以使用setVisible()方法来设置状态栏的可见性。 |
count | 状态栏当前显示的小部件数量。 可以通过addWidget()方法添加小部件,并通过removeWidget()方法移除小部件。 |
maximumHeight | 状态栏的最大高度。 可以使用setMaximumHeight()方法设置状态栏的最大高度。 |
API | 说明 |
showMessage() | 显示一条文本消息。可以指定消息内容、显示时间和消息类型(例如,临时消息或永久消息)。 |
clearMessage() | 清除当前显示的消息。 |
addWidget() | 添加一个小部件到状态栏。可以添加QLabel、QProgressBar等小部件。 |
removeWidget() | 移除状态栏上的指定小部件。 |
insertWidget() | 在指定位置插入一个小部件到状态栏。 |
setStyleSheet() | 设置状态栏的样式表。 |
setSizeGripEnabled() | 设置是否显示大小调整控件。 |
setVisible() | 设置状态栏的可见性。 |
heightForWidth() | 根据宽度计算状态栏的高度。 |
状态栏的创建是通过 QMainWindow 类提供的 statusBar()函数来创建;⽰例如下:
- //创建状态栏
- QStatusBar* sta=statusBar();
- //将状态栏设置到窗口上
- this->setStatusBar(sta);
- // 在状态栏显示信息20s
- sta->showMessage("hello Qt",6000);
运行结果:
- //创建标签
- QLabel* label=new QLabel("Progress bar");
-
- //将标签设置到状态栏中 来永久显示信息
- sta->addWidget(label);
-
- //创建另一个标签,放置于右侧
- QLabel* label2=new QLabel("Prompt message _ right");
- sta->addPermanentWidget(label2);
运行结果:
- //创建进度条
- QProgressBar* progressbar=new QProgressBar();
- //设置进度条范围
- progressbar->setRange(0,100);
- //设置进度条样式
- progressbar->setStyleSheet("QProgressBar::chunk{border-radius:5px;background:blue}");
-
- //设置进度条初值
- progressbar->setValue(50);
- //设置进度条到窗口
- sta->addWidget(progressbar);
运行结果:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。