Qt 状态栏QStatusBar

简介: Qt 状态栏QStatusBar

状态信息


QStatusBar类提供一个水平条来显示状态信息。


所谓状态信息,拿个简单的例子来说,当你在word中编辑时,左下角就会出现页面、字数等等信息。


状态信息可以分为三类:


  • 临时信息,如一般的提示信息;


  • 正常信息,如页数;


  • 永久信息,如版本信息。


状态栏使用函数


QMainWindow中默认提供了一个状态栏。


  • 我们可以使用showMessage()来显示一个临时消息,它会出现在状态栏的最左边。


  • 我们一般用addWidget()将一个QLabel加到状态栏上用于显示正常信息,它会生成到状态栏的最左边,可能会被临时消息覆盖。


  • 我们使用addPermanentWidget()来添加一个QLabel来在状态栏的最右边显示永久信息。它不会被临时信息所掩盖。


在状态栏的最右端还有一个QSizeGrip部件用来调整窗口大小,我们可以通过setSizeGripEnabled()函数来禁用它。也许你想通过使用Qt Designer来可视化地完成窗口布局。


但是事与愿违,目前的设计器还不支持直接向状态栏中拖放部件,所以我们就不能偷懒了,必须使用代码来设置了。


下面程序为对状态栏的测试程序,只需要编辑mainwindow的构造函数如下:不要忘记应包含相应的头文件


使用案例


MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
//    QLabel *normal=new QLabel("正常信息",this);
//    ui->statusBar->addWidget(normal);//显示正常信息
    ui->statusBar->setSizeGripEnabled(false);//去掉状态栏右下角的三角
    ui->statusBar->showMessage(tr("临时信息!"),2000);//显示临时信息2000ms 前面的正常信息被覆盖 当去掉后一项时,会一直显示
    QLabel *permanent=new QLabel(this);
    permanent->setFrameStyle(QFrame::Box|QFrame::Sunken);
    permanent->setText(tr("<a href=\"http://tengweitw.ueuo.com\">永久信息</a>"));
    permanent->setOpenExternalLinks(true);//设置可以打开网站链接
    ui->statusBar->addPermanentWidget(permanent);//显示永久信息
}


显示结果如下:



消失了


相关文章
|
3月前
Qt6学习笔记三(QMainWindow、菜单栏、工具栏、状态栏、铆接部件、核心部件)
Qt6学习笔记三(QMainWindow、菜单栏、工具栏、状态栏、铆接部件、核心部件)
41 0
|
C++
C/C++ Qt StatusBar 底部状态栏应用
Qt窗体中默认会附加一个QstatusBar组件,状态栏组件位于主窗体的最下方,其作用是提供一个工具提示功能,当程序中有提示信息是可以动态的显示在这个区域内,状态栏组件内可以增加任何Qt中的通用组件,只需要通过`addWidget`函数动态追加即可引入到底部,底部状态栏在实际开发中应用非常普遍,以下代码是对该组件基本使用方法的总结。
397 0
C/C++ Qt StatusBar 底部状态栏应用
【QT】QT菜单栏、状态栏、工具栏
【QT】QT菜单栏、状态栏、工具栏
|
API Python
Python Qt GUI设计:菜单栏、工具栏和状态栏的使用方法(拓展篇—2)
Python Qt GUI设计:菜单栏、工具栏和状态栏的使用方法(拓展篇—2)
Python Qt GUI设计:菜单栏、工具栏和状态栏的使用方法(拓展篇—2)
【Qt编程】Qt学习之状态栏
        QStatusBar类提供一个水平条来显示状态信息。所谓状态信息,拿个简单的例子来说,当你在word中编辑时,左下角就会出现页面、字数等等信息。
967 0
|
1月前
|
网络协议 C++
C++ Qt开发:QTcpSocket网络通信组件
`QTcpSocket`和`QTcpServer`是Qt中用于实现基于TCP(Transmission Control Protocol)通信的两个关键类。TCP是一种面向连接的协议,它提供可靠的、双向的、面向字节流的通信。这两个类允许Qt应用程序在网络上建立客户端和服务器之间的连接。Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍如何运用`QTcpSocket`组件实现基于TCP的网络通信功能。
38 8
C++ Qt开发:QTcpSocket网络通信组件

热门文章

最新文章

推荐镜像

更多