qt中关于报警信息的实时显示

本文介绍了如何在Qt中创建一个类似QStatusBar的功能,但具备点击展开和双击收缩的特性,以及始终显示最新信息的功能。通过将QTextEdit集成到QStatusBar并利用QEventFilter处理鼠标事件,以及QTextEdit的textChanged()信号来实现实时更新。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

需要实现的功能

在窗体下面加一个信息框 类似于QstatusBar,不过要区别于QstatusBar。
需要在点击时显示出所有的信息,在不点击时显示当前最新的信息
同时要求信息框能随着界面宽度伸缩。

思路

  1. 将QTextEdit放入到QstatusBar中,达到置于窗体底部和随界面伸缩调整宽度的目的;
  2. 通过事件过滤器设置鼠标行为,单击时:让信息框伸展;
    双击时:让信息框收缩;
  3. 通过 QTextEdit中的信号textChanged()触发一个槽,执行
    textEdit->moveCursor(QTextCursor::End); 达到显示当前最新信息的目的。

代码

mainwindow.h

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include<QTimer>




MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow),
    textEdit(new QTextEdit),
    i(0)
{
   
    ui->setupUi(this);


    textEdit->viewport()->installEventFilter(this);//安装事件监控器


    QFont font;//字体
    font.setPointSize(16);
    textEdit->setFont(font);


    textEdit->setMinimumHeight(31);
    ui->statusBar->addWidget(textEdit,this->width());


    textEdit->setReadOnly(true);
    QString strr=QString("<font color=\"#FF0000\">警告:%1发送频率过快!</font> ").arg(0);
    textEdit->append(strr);


    connect(textEdit,SIGNAL(textChanged
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值