精华内容
下载资源
问答
  • statusbar
    千次阅读
    2022-02-25 22:30:29

    在使用Qt开发客户端时,有时需要在底部状态栏显示一些信息,但是默认的statusBar并不能满足需求,此时,我们可以在statusBar上添加自定义控件,实现相应需求。
    可以去看看QStatusBar的声明,代码如下:

    class Q_WIDGETS_EXPORT QStatusBar: public QWidget
    {
        Q_OBJECT
    
        Q_PROPERTY(bool sizeGripEnabled READ isSizeGripEnabled WRITE setSizeGripEnabled)
    
    public:
        explicit QStatusBar(QWidget *parent = nullptr);
        virtual ~QStatusBar();
    
        void addWidget(QWidget *widget, int stretch = 0);
        int insertWidget(int index, QWidget *widget, int stretch = 0);
        void addPermanentWidget(QWidget *widget, int stretch = 0);
        int insertPermanentWidget(int index, QWidget *widget, int stretch = 0);
        void removeWidget(QWidget *widget);
    
        void setSizeGripEnabled(bool);
        bool isSizeGripEnabled() const;
    
        QString currentMessage() const;
    
    public Q_SLOTS:
        void showMessage(const QString &text, int timeout = 0);
        void clearMessage();
    
    
    Q_SIGNALS:
        void messageChanged(const QString &text);
    
    protected:
        void showEvent(QShowEvent *) override;
        void paintEvent(QPaintEvent *) override;
        void resizeEvent(QResizeEvent *) override;
    
        void reformat();
        void hideOrShow();
        bool event(QEvent *) override;
    
    private:
        Q_DISABLE_COPY(QStatusBar)
        Q_DECLARE_PRIVATE(QStatusBar)
    };
    

    QStatusBar派生于QWidget, 其提供了如下方法:

    • addWidget:添加widget, 第二个参数表示是否拉伸,那么,该函数可以传入一切QWidget及其子类,例如QLabel、QPushButton、QWidget等;
    • insertWidget:插入widget
    • currentMessage: 获取当前显示的消息
    • 信号messageChanged:显示的内容改变时会除法该信号

    下面的代码将演示如何在statusBar上添加3个Label控件, 新建一个基于QMainWindow的项目.
    mainwindow.h

    #ifndef MAINWINDOW_H
    #define MAINWINDOW_H
    
    #include <QMainWindow>
    #include <QLabel>
    
    QT_BEGIN_NAMESPACE
    namespace Ui { class MainWindow; }
    QT_END_NAMESPACE
    
    class MainWindow : public QMainWindow
    {
        Q_OBJECT
    
    public:
        MainWindow(QWidget *parent = nullptr);
        ~MainWindow();
    
    private:
        Ui::MainWindow *ui;
    
        QLabel* pLabel1_ = nullptr;
        QLabel* pLabel2_ = nullptr;
        QLabel* pLabel3_ = nullptr;
    };
    #endif // MAINWINDOW_H
    

    mainwindow.cpp

    #include "mainwindow.h"
    #include "ui_mainwindow.h"
    
    MainWindow::MainWindow(QWidget *parent)
        : QMainWindow(parent)
        , ui(new Ui::MainWindow)
    {
        ui->setupUi(this);
    
        pLabel1_ = new QLabel(u8"标签1:");
        pLabel1_->setMinimumWidth(200);
        statusBar()->addWidget(pLabel1_);
    
        pLabel2_ = new QLabel(u8"标签2:");
        pLabel2_->setMinimumWidth(200);
        statusBar()->addWidget(pLabel2_);
    
        pLabel3_ = new QLabel(u8"标签3:");
        pLabel3_->setMinimumWidth(200);
        statusBar()->addWidget(pLabel3_);
    }
    
    MainWindow::~MainWindow()
    {
        delete ui;
    }
    

    运行效果
    在这里插入图片描述

    可以看到在状态栏上添加了3个label, 调用addWidget即可实现,如果需要拉伸控件,则把第二个参数设为1.

    更多相关内容
  • flutter_statusbar_manager 现在通过与AndroidX兼容Flutter Statusbar Manager,可让您控制iOS和Android上的状态栏颜色,样式(主题),可见性和半透明属性。 并为Android提供了一些额外的奖励来控制导航栏。 这个...
  • 主要介绍了Android有效获取状态栏(StatusBar)高度的方法,涉及Android针对状态栏(StatusBar)属性操作的相关技巧,需要的朋友可以参考下
  • 主要介绍了Android编程实现禁止StatusBar下拉的方法,涉及Android StatusBarManager相关属性控制操作技巧,需要的朋友可以参考下
  • 透明的状态栏Status Bar效果,iOS 7 中的状态栏是透明的,当文字被状态栏覆盖时,效果不太好,也就跟演示图的右边那个图一样的效果,这份代码给iOS 7中的状态栏加上渐变的阴影,从而使得文字滑动上去时能有慢慢消失...
  • android-statusBar 如果CoordinatorLayout不加fitsSystemWindows属性,AppBarLayout有这个属性,那么会导致布局无法顶到状态栏下面,而且上面的颜色是白色,导致状态栏看不清楚。CoordinatorLayout加上...
  • StatusBar流程梳理-F
  • 个人觉得 iOS 的 Status Bar 状态栏也是一个比较坑的地方,所以还是写一个总结,有遇到这方面问题的朋友可以看一下。 下面话不多说了,来随着小编一起学习学习吧 Status Bar 状态栏的隐藏 1. 通过设置 Info.plist ...
  • 本篇文章主要介绍了Android实现状态栏(statusbar)渐变效果的示例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 易语言statusbar_ec

    2020-07-15 07:12:41
    易语言statusbar_ec源码,statusbar_ec,模块_创建状态栏,模块_分割状态栏,模块_修正状态栏位置,模块_在状态栏上写出文本,外部_创建状态栏,外部_移动窗口,外部_发送消息,外部_发送消息_SB_SETTEXT,外部_发送消息_SB_...
  • qtstatusbar:Qt的StatusBar允许在Android和iOS上设置状态栏的颜色和主题
  • statusbar 设置 Matlab 桌面或图形的状态栏文本。 statusbar 接受 sprintf 函数接受的格式的参数,并返回状态栏句柄(如果可用)。 句法: statusbarHandle = statusbar(handle, text, sprintf_args...) statusbar...
  • 图库在JB和JB2的版本上显示的行为是:横屏全屏显示,竖屏会显示status bar。如何使竖屏也不显示status bar。 修改alps/packages/apps/Gallery2/src/com/android/gallery3d/app/AbstractGalleryActivity.java中...
  • ## cordova-plugin-statusbar-transparent 将状态栏设置为在Android 4.4或更高版本上是透明的。 适用于Cordova> = 3.0的插件安装对于科尔多瓦: cordova plugin add git@github....
  • 最近在做开发时要做一个类似于UIAlertView的控件,做法是创建一个基于UIView的类,在里面进行自定义控件的设置,为了尽量模仿UIAlertView,在这个类里面创建了一个新的UIWindow并将self显示到这个window上
  • c9.ide.ace.statusbar
  • matlab开发-statusbar

    2019-08-21 12:32:20
    matlab开发-statusbar。设置/获取GUI图形和Matlab桌面的状态栏
  • $ git clone https://github.com/vbalien/vbalien-yabai-statusbar.git $HOME /Library/Application \ Support/Übersicht/widgets/vbalien 预习 yabai이벤트 yabai -m signal --add event=application_activated \...
  • 类似于原始状态栏,但刷新没有新信息。 请参阅 zip 中的示例。 有谁知道如何将这种对象添加到带有绘图的图形中
  • 本篇文章主要介绍了Android StatusBar 透明化方法(不同的版本适配),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • wpf 状态栏 右下角三角 statusbar
  • autocad中statusbar的demo
  • Apache Cordova是一组设备API,允许移动应用程序开发人员从JavaScript访问本机设备功能,例如相机或加速度计。 结合UI框架,这允许仅使用HTML,CSS和JavaScript开发智能手机应用程序。cordova/plugins
  • matlab开发-statusbar3

    2019-08-23 14:25:55
    matlab开发-statusbar3。与状态栏相似
  • matlab开发-statusbar2

    2019-11-16 19:43:51
    matlab开发-statusbar2。使用一个状态栏显示两个进程的已用时间和剩余时间。
  • A Helper for SystemBar include StatusBar and NavigationBar. Demo StatusBar Tint and Immersive 4.4 5.0 miui flyme 4.4.gif 5.0.gif miui.gif flyme.gif StatusBar DarkMode (Dark TextColor And ...
  • iOS Status Bar 萌萌的通知.zip,A library that allows you to easily create text-based notifications that appear on the status bar.

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 138,410
精华内容 55,364
关键字:

statusbar

友情链接: 图书馆管理系统.rar