c-Qt状态机在布局中的转换

c-Qt状态机在布局中的转换,第1张

概述那么,我正在开发一个Qt应用程序,我想使用Qt状态框架做一些动画. 第一: 如何通过使用状态转换来将包含在水平布局中的一组按钮动画化为另一个垂直布局? 第二: 处于状态时如何显示窗口小部件?例如菜单:当用户单击菜单中的按钮时,将显示窗口小部件(以前已使用窗口小部件> hide()隐藏)… … 这是一个代码示例: boxInsert = new BoxInsert(this);boxInsert- 那么,我正在开发一个Qt应用程序,我想使用Qt状态框架做一些动画.

第一:
如何通过使用状态转换来将包含在水平布局中的一组按钮动画化为另一个垂直布局?

第二:
处于状态时如何显示窗口小部件?例如菜单:当用户单击菜单中的按钮时,将显示窗口小部件(以前已使用窗口小部件> hIDe()隐藏)… …

这是一个代码示例:

BoxInsert = new BoxInsert(this);BoxInsert->hIDe ();btn1 = new QPushbutton("Introducir",this);btn2 = new QPushbutton("Informe",this);btn3 = new QPushbutton("Salir",this);QStateMachine *machine = new QStateMachine(this);QState *st1 = new QState(machine);st1->setobjectname ("menuMode");st1->assignProperty (btn1,"pos",QPointF(center - btn1->wIDth () / 2,20));st1->assignProperty (btn2,40));st1->assignProperty (btn3,60));st1->assignProperty (BoxInsert,"visible",QVariant(false));QState *st2 = new QState(machine);st2->setobjectname ("barMode");st2->assignProperty (btn1,QPointF(40,0));st2->assignProperty (btn2,0));st2->assignProperty (btn3,0));st1->assignProperty (BoxInsert,QVariant(true));machine->setinitialState (st1);QAbstractTransition *t1 = st1->addTransition (btn1,SIGNAL(clicked()),st2);//QSequentialAnimationGroup *sq1 = new QSequentialAnimationGroup;//sq1->addPause (250);t1->addAnimation (new QPropertyAnimation(btn1,"pos"));t1->addAnimation (new QPropertyAnimation(btn2,"pos"));t1->addAnimation (new QPropertyAnimation(btn3,"pos"));t1->addAnimation (new QPropertyAnimation(BoxInsert,"visible"));machine->start ();
解决方法 这样的东西就像当你启动机器时会改变一个按钮的颜色,这个按钮的颜色可能表明这是被点击的,然后执行与你的信号链接的东西,所以链接的插槽将被执行.
s0->addTransition(s1);s1->assignProperty(ui->pushbutton,"styleSheet","background-color:rgb(255,0);");s1->addTransition(s2);s2->addTransition(ui->pushbutton,s0);QStateMachine m;m.addState(s0);m.addState(s1);m.addState(s2);m.setinitialState(s0);

要使可见窗口小部件添加如下状态转换:

s1->assignProperty(MyWID,true);

并在状态s1的s0中添加转换.

总结

以上是内存溢出为你收集整理的c-Qt状态机在布局中的转换全部内容,希望文章能够帮你解决c-Qt状态机在布局中的转换所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1253487.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存