当前位置:   article > 正文

【Qt】状态栏

【Qt】状态栏

目录

一.状态栏

1.简述状态栏

二.QStatusBar

1.概念

2.QStatusBar的属性

3.QStatusBar常用成员函数

三.代码创建状态栏

1.创建状态栏

2.在状态栏上显示实时信息

3.在状态栏上显示永久信息(通过label)

4.在状态栏中创建进度条


一.状态栏

1.简述状态栏

状态栏是应⽤程序中输出简要信息的区域。⼀般位于主窗⼝的最底部,⼀个窗⼝中最多只能有⼀个状态栏。在 Qt 中,状态栏是通过 QStatusBar类 来实现的。

在状态栏中可以显⽰的消息类型有:

  • 实时消息:如当前程序状态
  • 永久消息:如程序版本号,机构名称
  • 进度消息:如进度条提⽰,百分百提⽰

二.QStatusBar

1.概念

QStatusBar是Qt框架为了实现状态栏提供的类,用于在应用程序窗口底部显示状态信息。它可以显示一些固定的文本和图标,并且可以通过API动态更新显示内容。

2.QStatusBar的属性

属性说明
currentMessage当前显示的文本消息。
可以使用setCurrentMessage()方法来设置。
sizeGripEnabled是否显示大小调整控件。
默认情况下,状态栏右侧会显示一个大小调整的小部件,可以通过设置该属性为false来隐藏它。
visible状态栏的可见性。
可以使用setVisible()方法来设置状态栏的可见性。
count状态栏当前显示的小部件数量。
可以通过addWidget()方法添加小部件,并通过removeWidget()方法移除小部件。
maximumHeight状态栏的最大高度。
可以使用setMaximumHeight()方法设置状态栏的最大高度。

3.QStatusBar常用成员函数

API说明
showMessage()显示一条文本消息。可以指定消息内容、显示时间和消息类型(例如,临时消息或永久消息)。
clearMessage()清除当前显示的消息。
addWidget()添加一个小部件到状态栏。可以添加QLabel、QProgressBar等小部件。
removeWidget()移除状态栏上的指定小部件。
insertWidget()在指定位置插入一个小部件到状态栏。
setStyleSheet()设置状态栏的样式表。
setSizeGripEnabled()设置是否显示大小调整控件。
setVisible()设置状态栏的可见性。
heightForWidth()根据宽度计算状态栏的高度。

三.代码创建状态栏

1.创建状态栏

状态栏的创建是通过 QMainWindow 类提供的 statusBar()函数来创建;⽰例如下:

  1. //创建状态栏
  2. QStatusBar* sta=statusBar();
  3. //将状态栏设置到窗口上
  4. this->setStatusBar(sta);

2.在状态栏上显示实时信息

  1. // 在状态栏显示信息20s
  2. sta->showMessage("hello Qt",6000);

运行结果:

3.在状态栏上显示永久信息(通过label)

  1. //创建标签
  2. QLabel* label=new QLabel("Progress bar");
  3. //将标签设置到状态栏中 来永久显示信息
  4. sta->addWidget(label);
  5. //创建另一个标签,放置于右侧
  6. QLabel* label2=new QLabel("Prompt message _ right");
  7. sta->addPermanentWidget(label2);

运行结果:

4.在状态栏中创建进度条

  1. //创建进度条
  2. QProgressBar* progressbar=new QProgressBar();
  3. //设置进度条范围
  4. progressbar->setRange(0,100);
  5. //设置进度条样式
  6. progressbar->setStyleSheet("QProgressBar::chunk{border-radius:5px;background:blue}");
  7. //设置进度条初值
  8. progressbar->setValue(50);
  9. //设置进度条到窗口
  10. sta->addWidget(progressbar);

运行结果:

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号