我是QT开发的新手(真的很新)我想创建一个应用程序,在表单中间显示一个文本框和一个按钮,当用户点击按钮,文本框和按钮将向上滑动,下方将显示不同的控件。
文本框和按钮将创建一种工具栏,动画后将显示内容区域。
以下是我需要的模型:https://www.fluidui.com/editor/live/preview/p_bPVFbiowoKiedzMhbQKWHdOzuDaxORFg.1408042108162
这就是设计师的方式:
如何在动画结束时创建幻灯片动画并显示其他小部件?
答案 0 :(得分:1)
(没有时间让它成为完美的代码,但你会得到这个想法)
你可以做这样的事情。将它放在你的构造函数中:
yPos = ui->whatever->y() + 1;
tmr = new QTimer( );
connect( tmr , SIGNAL( timeout( ) ) , this , SLOT( update( ) ) );
tmr->setInterval( 2.5 );
tmr->start();
// End
这是一种功能或方法:
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();
}
}
更多信息供您阅读: