Qt中QLabel横向滚动字幕(像素为单位)

本文介绍如何在Qt中创建一个QLabel的子类,实现以像素为单位的横向滚动字幕效果。通过自定义paintEvent函数,结合定时器更新文本位置,达到平滑滚动的目的。

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

Qt中QLabel横向滚动字幕(像素为单位)

最近在做一个操控界面,上面需要提示一些系统的报警信息,要横向滚动,自动,找了很久,找到一些以字符为单位的滚动QLabel实现,看起来比较僵硬,然后从里面改进了一下,做了一个像素为单位的滚动QLabel

一、建一个QLabel的继承类

直接新建一个QWidget的类,带ui界面的,把.h文件中的父类QWidget更改为QLabel(记得引用头文件),然后再把.cpp文件中构造函数初始化的QWidget也更改为QLabel。ui界面比较方便,比如限制QLabel大小,字体颜色,大小和背景颜色等等。
在这里插入图片描述
在这里插入图片描述

二、实现

.h文件里增加几个函数和变量
在这里插入图片描述
paintEvent是继承的函数,绘制界面,另外两个是自己定义的,3个变量分别是文本的像素宽度text_pixwidth,以及显示文本的像素位置show_index,和要显示的文本show_text

下面是.cpp代码

<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值