Make a QLabel blink
Make a QLabel blink
我正在使用Qt为我的beagleboard制作gui应用程序。
我正在尝试使用自定义图像使QLabel闪烁。
QTimer::connect(timer, SIGNAL(timeout()), this, SLOT(blink()));
timer->start(1000);
我想使用 QTimer 每秒调用 blink() 函数,但我不知道 blink() 函数中的代码应该是什么。我希望有人能提供帮助,因为我已经在一段时间内与这个问题作斗争了。
在 GIF 文件中创建闪烁动画。
使用GIF动画器等工具创建您喜欢的任何动画。
如下所示:
auto movie = new QMovie("myblinking.gif");
QLabel blinklabel = new QLabel();
blinklabel->setMovie(movie);
movie->start();
最简单的方法是隐藏并再次显示它。
Class::blink()
{
if(label->isHidden())
label->show();
else
label->hide();
}
这种方法很好,因为您不需要一次又一次地设置图像,只需显示/隐藏它(设置空像素图或每秒设置图像不是有效的方法)。
如果你使用布局,那么它真的会破坏你的布局,所以你可以QStackedWidget
与imageLabel和空标签一起使用,并每秒更改一次。我认为这仍然比设置空像素图或每秒设置图像要好。选择最适合您的。
http://qt-project.org/doc/qt-4.8/qstackedwidget.html
在类中使用布尔成员isQLabelVisible
Class::blink() {
if(isQLabelVisible) {
doHideQLabel();
isQLabelVisible = false;
} else {
doShowQLabel();
isQLabelVisible = true;
}
}
void Class::doHideQLabel() {
[...]
}
void Class::doShowQLabel() {
[...]
}
您有一个好的解决方案的起点。现在,要实现do{Hide,Show}QLabel()
,请阅读此问题的答案,并确定哪一个最适合您的需求。
相关文章:
- 如何使用新运算符跟踪在循环中创建的 QLabel
- 除了构造函数之外,还创建 QLabel
- 在 QLabel 中显示视频
- Qt GUI使用Qfiledialogbox和qlabel显示视频,这是我的代码
- 如何在C++中将自定义文本设置为 QLabel?
- 如何使用鼠标单击选择多个 QLabel 对象?
- 在特定时间内更改 QLabel 的背景颜色
- 如何将QLabel放入切换按钮Qt c ++中
- 如何在QListWidget中显示QStringList的每个项目QLabel和另一个QString?
- 类继承自QLabel,为什么不调用自定义插槽?
- 使用 QpushButton 切换显示在 QLabel 中的图像
- QLabel 未正确更新
- Qt多线程:如何更新两个QLabel?
- 如何在Qt中为任何QLabel设置可访问的名称,我们可以使用Windows讲述人读取
- QT-如何在我的笔记本电脑上全屏显示Qlabel
- 麻烦编译可单击的Qlabel
- 将一个 Qlabel 的 QPixmap 复制到另一个 Qlabel
- 在使用 resizeEvent 调整窗口大小时调整 Qlabel 图像的大小
- Qt 4.8.6 中的 qlabel mailto 链接
- Make a QLabel blink