qt QStatusBar详解

1、概述

QStatusBar是Qt框架提供的一个小部件,用于在应用程序窗口底部显示状态信息。它可以显示一些固定的文本和图标,并且可以通过API动态更新显示内容。QStatusBar通常是一个水平的窗口部件,能够显示多行文本内容,非常适合用于显示应用程序的状态信息,如进度条、消息、错误提示等。使用QStatusBar,开发人员可以方便地在应用程序窗口底部向用户展示状态信息,从而提升用户体验。

在计算机操作系统中,状态栏通常显示有关网络连接、电源、音量、通知等信息。而在Qt中,状态栏特指位于应用程序主窗口最底部的区域,一个窗口中最多只能有一个状态栏。

2、重要方法
  • showMessage() :用于在状态栏中显示临时消息。临时消息会短暂显示,并在指定的时间后自动消失。例如,可以使用stbar->showMessage("Duck Bro", 3000);在状态栏中显示"Duck Bro"这条消息,持续时间为3秒。
  • addWidget():向状态栏中添加一个普通的窗口部件(widget),该部件可以被临时消息覆盖。
  • addPermanentWidget():向状态栏中添加一个永久的窗口部件,该部件不会被临时消息覆盖。
  • setSizeGripEnabled() :设置状态栏右下角是否显示大小调整握柄。默认情况下,状态栏右下角会有一个小的三角形握柄,允许用户通过拖动来调整主窗口的大小。如果不需要这个功能,可以通过setStatusBar()->setSizeGripEnabled(false);来禁用它。
3、重要信号
  • messageChanged(const QString &message):每当临时消息更改时,QStatusBar都会发出此信号。新的临时消息在参数中传递,当消息被删除时,该参数是一个空字符串。

    #include <QApplication>
    #include <QMainWindow>
    #include <QStatusBar>
    #include <QLabel>
    #include <QPushButton>

    int main(int argc, char *argv[])
    {
    QApplication app(argc, argv);

    复制代码
      // 创建一个QMainWindow对象作为主窗口
      QMainWindow window;
      window.setWindowTitle("QStatusBar Example");
      window.resize(800, 600);
    
      // 创建一个QStatusBar对象
      QStatusBar *statusBar = window.statusBar();
    
      // 在状态栏中添加永久性的标签
      QLabel *permanentLabel = new QLabel("Ready", &window);
      statusBar->addPermanentWidget(permanentLabel);
    
      // 创建一个按钮用于显示临时消息
      QPushButton *button = new QPushButton("Show Message", &window);
      window.setCentralWidget(button);
    
      // 连接按钮点击信号,显示临时消息
      QObject::connect(button, &QPushButton::clicked, [&]() {
          statusBar->showMessage("This is a temporary message", 2000); // 显示2秒钟
      });
    
      // 显示窗口
      window.show();
    
      return app.exec();

    }

觉得有帮助的话,打赏一下呗。。

相关推荐
sycmancia2 小时前
Qt——编辑交互功能的实现
开发语言·qt
qq_401700418 小时前
Qt 项目中使用 QSS 的全面总结
开发语言·qt
小短腿的代码世界8 小时前
信号路由风暴:Qt算法交易系统的高频信号分发架构
qt·算法·架构
郝学胜-神的一滴10 小时前
Qt 高级开发 010: 从跨界面传值到自定义信号
开发语言·c++·qt·程序人生·用户界面
Hua-Jay14 小时前
OpenCV联合C++/Qt 学习笔记(二十三)----图像校正及单目位姿估计
c++·笔记·qt·opencv·学习·计算机视觉
mirror_zAI14 小时前
C++ 仿 QQ 聊天室项目:Qt 客户端 + epoll 服务端 + Reactor 架构(含源码)
c++·qt·架构
Hua-Jay16 小时前
OpenCV联合C++/Qt 学习笔记(二十四)----差值法检测移动物体、稠密光流法跟踪移动物体及稀疏光流法跟踪移动物体
c++·笔记·qt·opencv·学习·计算机视觉
我在人间贩卖青春16 小时前
重学Qt——对话框和多窗口程序设计
qt
努力努力再努力wz16 小时前
【QT入门系列】QWidget 六大常用属性详解:windowOpacity、cursor、font、focus、toolTip 与 styleSheet
android·开发语言·数据结构·c++·qt·mysql·算法
程序leo源1 天前
Qt窗口详解
开发语言·数据库·c++·qt·青少年编程·c#