滑动动画切换窗口或容器组件
Posted
技术标签:
【中文标题】滑动动画切换窗口或容器组件【英文标题】:Slide animation switching window or container component 【发布时间】:2014-08-14 18:53:01 【问题描述】:我是 QT 开发的新手(对它真的很陌生),我想创建一个应用程序,在表单中间显示一个文本框和一个按钮,当用户单击按钮时,文本框和按钮会向上滑动,下方会显示不同的控件。
文本框和按钮将创建一种工具栏,动画后将显示内容区域。
这是我需要的模型:https://www.fluidui.com/editor/live/preview/p_bPVFbiowoKiedzMhbQKWHdOzuDaxORFg.1408042108162
设计师是这样的:
如何创建幻灯片动画并在动画结束时显示其他小部件?
【问题讨论】:
我没有看到问题 我真的忘记接受你的回答了。谢谢 【参考方案1】:(没有时间编写完美的代码,但你会明白的)
你可以这样做。
把它放在你的构造函数中:
yPos = ui->whatever->y() + 1;
tmr = new QTimer( );
connect( tmr , SIGNAL( timeout( ) ) , this , SLOT( update( ) ) );
tmr->setInterval( 2.5 );
tmr->start();
// End
this 作为函数或方法:
void MainWindow::update()
if( yPos < MainWindow::size().height() )
ui->whatever->move( ui->whatever->x() , yPos );
++yPos;
else
QMessageBox::about( 0 , "Out" , "I'm outta here!" );
ui->whatever->hide();
tmr->stop();
这会让它向下移动。
这样它会向上移动:
构造函数:
yPos = ui->whatever->y() - 1;
hidingPoint = 0 - yPos - ui->whatever->size().height() + 1;
tmr = new QTimer( );
connect( tmr , SIGNAL( timeout( ) ) , this , SLOT( update( ) ) );
tmr->setInterval( 2.5 );
tmr->start();
// End
功能/方法:
void MainWindow::update()
if( yPos > hidingPoint )
ui->whatever->move( ui->whatever->x() , yPos );
--yPos;
else
QMessageBox::about( 0 , "Out" , "I'm outta here!" );
ui->whatever->hide();
tmr->stop();
更多信息供您阅读:
1
2
qt - widget - positioning
【讨论】:
我会在家里试试。谢谢 你也可以用 QAnimation 玩弄,但它可能不适用于你的情况。 :]以上是关于滑动动画切换窗口或容器组件的主要内容,如果未能解决你的问题,请参考以下文章