2012-07-18 105 views
1

我有一些图像,我想以幻灯片样式显示它们。我使用QGraphicsScene来显示图像,我试图调用Sleep之间我加载图像到场景,但它不工作,实际上,当我把这Sleep函数(#include <windows.h>)在我的代码,我什至不能看到GUI窗口。无论如何,我认为一定有更好的办法,那么,我该怎么做呢?另一件事是我想用左键来控制幻灯片播放,我的意思是当我按左箭头时,它会转到下一张图像。如何在QT中以幻灯片样式显示图像?

任何提示?谢谢。

+0

按幻灯片样式你想做动画吗?换句话说,新图像''在前一图像的顶部滑动。或者你只是想要一个新的图像出现,当你点击左键或右键?或者你想要某种平铺布局,当你点击一个图像时,它会变成全屏?另外,为什么你需要睡眠功能?一些代码可能会有所帮助。 – 2012-07-18 03:51:28

回答

1

如果您正在使用Qt,我会创建一个QTimer作为您班级的成员,并将其timeout()信号连接到您自己的插槽,例如, showNextSlide()

如果使用任何类型的sleep()函数,整个GUI线程都会休眠,即在sleep()完成之前不会执行绘制等操作。

考虑到左键,您可以在通常具有焦点的小部件中重新实现QObject::eventFilter()。 (从该类继承或使用installEventFilter

+0

太好了,谢谢你对睡眠问题的建议和答案。 :) – hakunami 2012-07-19 04:00:17