QT动画里,一个状态的图片1,到下一个状态时,想换成另外一个图片2,可行吗?

dior_jadore 2010-12-30 09:31:52
做个动画,里面是一副图片,其中一个状态是图片1,想在状态2中,把图片换成另外一个,可以做到吗?

比如下面的代码里,state1时,button1的图片是SmallImage1,希望在state2里,图片换成其它的,可以做到吗?

QPalette pa;

QWidget *button1 = new QWidget;
QPixmap start_pixmap1=QPixmap(SmallImage1).scaled(m_nSmallImageW, m_nSmallImageH,Qt::IgnoreAspectRatio,Qt::FastTransformation);
pa.setBrush(QPalette::Background,QBrush(start_pixmap1));
button1->setPalette(pa);

。。。。

GraphicsScene scene(start_x, start_y, main_window_w, main_window_h);
scene.setBackgroundBrush(Qt::black);
scene.addWidget(button1);

。。。

state1 = createGeometryState(button1, QRect(positon1X, m_nSmallImageY, m_nSmallImageW, m_nSmallImageH),
button2, QRect(positon2X, m_nSmallImageY, m_nSmallImageW, m_nSmallImageH),
button3, QRect(positon3X, m_nSmallImageY, 0, 0),
group);

state2 = createGeometryState(button1, QRect(positon1X, m_nSmallImageY, m_nSmallImageW, m_nSmallImageH),
button2, QRect(positon3X, m_nSmallImageY, 0, 0),
button3, QRect(positon4X, m_nSmallImageY, m_nSmallImageW, m_nSmallImageH),
group);

group->setInitialState(state1);

QParallelAnimationGroup animationGroup;
QSequentialAnimationGroup *subGroup;

...全文
324 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
SoulRed 2011-05-02
  • 打赏
  • 举报
回复
Microsoft Speech
gameloverjackie 2011-01-05
  • 打赏
  • 举报
回复
state machine
amatuer_feier 2011-01-05
  • 打赏
  • 举报
回复
回头我也看看,新手学习中……
dior_jadore 2011-01-05
  • 打赏
  • 举报
回复
不好意思,请问demo里的twowaybutton具体在那个分类里?没有找到。谢谢。
gameloverjackie 2011-01-03
  • 打赏
  • 举报
回复
你可以参考一下demo里的twowaybutton
dior_jadore 2011-01-03
  • 打赏
  • 举报
回复
我现在用的是状态机来控制状态,这样可以做到吗?
gameloverjackie 2011-01-03
  • 打赏
  • 举报
回复
做一个有动画类,成员变量有 状态,有图片,有位置,成员函数有paint,改变状态,动画函数,控制函数,这就可以实现一个动画了,创建一个对象并加到scene里面。
在这里面你关心的可能是动画函数和控制函数,动画有两个方式一个是移动一个是换图,比如
if(沿着x轴向移动)
{
itemX += 10;
}
if(status == 1)
{
image = image1;
}
else if (status == 2)
{
image = image2;
}
只有这些还不能动,要和控制函数配合,
控制函数就是判断不同的状态值 播相应的动画函数,一般用timer调用
dior_jadore 2011-01-03
  • 打赏
  • 举报
回复
请教gameloverjackie,怎么换呢?
dior_jadore 2010-12-31
  • 打赏
  • 举报
回复
显示图片像幻灯片效果,是什么意思?不是很明白。

我希望显示的结果是图片可以移动,同时在移动到另外一个位置时,图片变成另外一个图片。
gameloverjackie 2010-12-31
  • 打赏
  • 举报
回复
可以换,不过没像你这么做过
一介布衣萧萧 2010-12-30
  • 打赏
  • 举报
回复
你是要显示图片像幻灯片效果,还是做动画?
dior_jadore 2010-12-30
  • 打赏
  • 举报
回复
有人做过动画吗?帮忙看下问题呗。

16,216

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧