• QT之QStatusBar的简单介绍


    QT之QStatusBar的简单介绍

    成员函数

    1)void setText(const QString &text)
    设置状态栏的文本。参数text是要显示的消息文本。

    2)QString text() const
    返回当前状态栏的文本。

    3)void showMessage(const QString &text, int timeout = 0)
    在状态栏中显示消息,并在timeout毫秒后自动消失。参数text是要显示的消息文本,timeout是消息显示的超时时间,默认为0,表示消息将一直显示直到被清除或覆盖。

    4)void clear()
    清除当前状态栏的消息文本。

    5)void addWidget(QWidget *widget)
    将一个QWidget对象添加到状态栏中。参数widget是要添加的QWidget对象。

    6)void insertWidget(int index, QWidget *widget)
    将一个QWidget对象插入到状态栏中的指定位置。参数index是插入位置的索引,widget是要插入的QWidget对象。

    7)int count() const
    返回状态栏中addWidget()和insertWidget()方法添加的QWidget对象的数量。

    8)QWidget *widget(int index) const
    返回状态栏中指定位置的QWidget对象。参数index是查找位置的索引。

    9)int indexOf(QWidget *widget) const
    返回指定QWidget对象在状态栏中的索引位置

    10)void removeWidget(QWidget *widget)
    从状态栏中移除指定的QWidget对象。参数widget是要移除的QWidget对象。

    11)void setSizeGripEnabled(bool enable)
    启用或禁用状态栏控件的大小调整功能。参数enable为true时启用,为false时禁用。

    12)bool isSizeGripEnabled() const
    返回状态栏控件的大小调整功能是否启用的布尔值。

    13)void addWidget(QWidget *widget, int stretch = 0, bool permanent = FALSE)
    公有槽函数,用于将QWidget对象添加到状态栏中,并可选择设置其扩展性和永久性。

    14)void removeWidget(QWidget *widget)
    公有槽函数,用于从状态栏中移除指定的QWidget对象。

    15)void setSizeGripEnabled(bool enable)
    公有槽函数,用于启用或禁用状态栏控件的大小调整功能

    16)bool isSizeGripEnabled() const
    公有槽函数,用于返回状态栏控件的大小调整功能是否启用的布尔值。

    用法举例

    #include   
    #include   
    #include   
    #include   
    #include   
    #include   
    #include   
      
    class MainWindow : public QMainWindow  
    {  
        Q_OBJECT  
      
    public:  
        MainWindow(QWidget *parent = nullptr)  
            : QMainWindow(parent)  
        {  
            // 创建状态栏  
            QStatusBar *statusBar = new QStatusBar(this);  
            setStatusBar(statusBar);  
      
            // 创建多个永久部件并添加到布局中  
            QVBoxLayout *vLayout = new QVBoxLayout;  
            QLabel *label1 = new QLabel("Permanent widget 1");  
            vLayout->addWidget(label1);  
            QLabel *label2 = new QLabel("Permanent widget 2");  
            vLayout->addWidget(label2);  
            QLabel *label3 = new QLabel("Permanent widget 3");  
            vLayout->addWidget(label3);  
            QWidget *permanentWidget = new QWidget;  
            permanentWidget->setLayout(vLayout);  
            statusBar->addWidget(permanentWidget, 1); // 第一个参数是部件的父对象,第二个参数是部件的扩展性(0表示不扩展)  
      
            // 创建多个临时部件并添加到布局中  
            QHBoxLayout *hLayout = new QHBoxLayout;  
            QLineEdit *lineEdit1 = new QLineEdit;  
            lineEdit1->setText("Temp widget 1");  
            hLayout->addWidget(lineEdit1);  
            QLineEdit *lineEdit2 = new QLineEdit;  
            lineEdit2->setText("Temp widget 2");  
            hLayout->addWidget(lineEdit2);  
            QLineEdit *lineEdit3 = new QLineEdit;  
            lineEdit3->setText("Temp widget 3");  
            hLayout->addWidget(lineEdit3);  
            QWidget *temporaryWidget = new QWidget;  
            temporaryWidget->setLayout(hLayout);  
            statusBar->addWidget(temporaryWidget); // 没有扩展性参数,默认为0  
        }  
    };  
      
    int main(int argc, char *argv[])  
    {  
        QApplication app(argc, argv);  
        MainWindow window;  
        window.show();  
        return app.exec();  
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56

    这个示例创建了一个自定义的MainWindow类,该类使用QStatusBar来创建一个包含永久部件和临时部件的状态栏。在这个示例中,我们创建了三个永久部件(三个QLabel)和三个临时部件(三个QLineEdit),并将它们添加到状态栏中。每个部件都被添加到一个布局中,然后将布局添加到状态栏中。这个示例演示了如何创建多个部件并将其添加到状态栏中。

  • 相关阅读:
    【机器学习】Kmeans聚类算法
    深入探讨Kubernetes(K8s)在云原生架构中的关键作用和应用
    数据结构-双链表、循环链表、静态链表(c语言版)
    八、Nacos配置管理(统一配置管理、配置热更新、配置共享)
    【使用 BERT 的问答系统】第 3 章 :词嵌入介绍
    Dubbo泛化调用入门到精通
    为裁员做准备的7个有用步骤(简单)
    系统架构师--数据库系统
    通过GFlags工具来复现因为野指针、内存越界等造成的程序崩溃
    诚迈科技发布OpenHarmony发行版鸿诚志远HongZOS
  • 原文地址:https://blog.csdn.net/techenliu/article/details/133687883