在设计Qt的时候,有时候想要滚动文本框之内的。而常见的QLabel里面没有这个,需要我们重写后,然后把这个QLabel直接进行提升就行了。
1.首先新建一个QWidget的工程,继承QWidget
2.sources下新建C++ class 起好名字,会有一个同名的.h 和.cpp文件 这里我取得是roll 那么这个类的名字就叫做roll
roll.h
1 | #ifndef ROLL_H |
roll.cpp
1 | #include "roll.h" |
注:网上的版本是: update-> : if m_curIndex * m_charwidth > width
发现不能显示完全文字,原因是,虽然计算出了一个文字所占的像素,但是,文字与文字之间还存在间隔,间隔也要算。经过计算,一个文字的像素是12 一个空格的也是12 所以这里用的是24 这样的话, 会很快超出这个边框的边界,但是此时,文字还是没有显示完全。
解决办法:在文本框边缘外部还是显示,只是用户看不到了罢了。这样可以显示完全了。
但是好像还是有问题,就是到后面,感觉尾巴一直在缩短的感觉,这个原因目前不知道怎么解决?
- 本文作者: 蓉城蒲菊
- 本文链接: https://github.com/liangpu597/2020/08/13/QT学习之滚动字幕/
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!