• 状态栏QStatusBar



    QMainWindow的结构如下:
    在这里插入图片描述
    栏位于主窗口的最下方,提供一个显示工具提示等信息的地方。用于显示永久或临时的状态信息。
    状态信息可以分为三类:

    • 临时信息,一般的提示信息
    • 正常信息,如页数
    • 永久信息,如版本信息

    常用方法

    方法说明
    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 showMessage(const QString &message, int timeout = 0)在状态栏显示一条临时信息,指定时间间隔
    void clearMessage()删除正在显示的临时信息

    信号

    方法说明
    void messageChanged(const QString &message)

    使用

    通过主窗口的QMainWindow的setStatusBar()函数设置状态栏.

    #实例化状态栏
    self.statusBar=QStatusBar()
    #设置状态栏
    self.setStatusBar(self.statusBar)
    
    • 1
    • 2
    • 3
    • 4

    设置永久信息

    void addPermanentWidget(QWidget *widget, int stretch = 0);
    
    • 1

    通过这个函数添加相应控件,这里的显示会显示到statusBar的右侧,并且不会被临时信息覆盖。

    self.statusBar = QStatusBar(self)
    #添加一个显示永久信息的标签控件
    self.info = QLabel(self)
    self.info.setText('实战')
    self.info.setAlignment(Qt.AlignRight)
    self.statusBar.addPermanentWidget(self.info)
    self.setStatusBar(self.statusBar)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    样式修改

    控制右下角的小三角是否显示。

    void setSizeGripEnabled(bool);
    
    • 1

    当没有任何提示时,状态栏会有一个短短的竖线,消除普竖杠:

    self.statusBar.setStyleSheet(QString("QStatusBar::item{border: 0px}"));
    
    • 1

    设置样式:

    QStatusBar {
         background: brown;
     }
    
    QStatusBar::item {
        border: 1px solid red;
        border-radius: 3px;
    }
    QStatusBar QLabel {
        border: 3px solid white;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
  • 相关阅读:
    Kotlin的股票交易接口是什么
    oracle VM virtualbox 自动挂载共享目录
    字符串函数以及内存函数的模拟实现(超详细,全面理解字符串函数!!!)
    linux内核中的SPI
    数据库约束
    以MixtralForCausalLM为例,演示如何不依赖框架实现pipeline并行
    斩获 offer 的 Java 面试宝典
    计算机操作系统 (王道考研)笔记(二)
    docker安装与部署
    CUDA/安装/win10
  • 原文地址:https://blog.csdn.net/weixin_43956958/article/details/126568909