MarblePhysicsPrivate( MarbleAbstractPresenter *presenter ) : m_presenter( presenter ), m_mode( Instant ), m_planetRadius( EARTH_RADIUS ) { m_timeline.setDuration(2000); m_timeline.setCurveShape( QTimeLine::EaseInOutCurve ); }
void MainWindow::slotAddAnimationItem() //在场景中加入一个动画星星 { StartItem *item = new StartItem; QGraphicsItemAnimation *anim = new QGraphicsItemAnimation; anim->setItem(item); QTimeLine *timeLine = new QTimeLine(4000); timeLine->setCurveShape(QTimeLine::SineCurve); timeLine->setLoopCount(0); anim->setTimeLine(timeLine); int y =(qrand()%400)-200; for(int i=0; i<400; i++) { anim->setPosAt(i/400.0,QPointF(i-200,y)); } timeLine->start(); scene->addItem(item); }
void PinDialog::init( PinFlags flags, const QString &title, TokenData::TokenFlags token ) { setMinimumWidth( 350 ); setWindowModality( Qt::ApplicationModal ); QLabel *label = new QLabel( this ); QVBoxLayout *l = new QVBoxLayout( this ); l->addWidget( label ); QString _title = title; QString text; if( token & TokenData::PinFinalTry ) text += "<font color='red'><b>" + tr("PIN will be locked next failed attempt") + "</b></font><br />"; else if( token & TokenData::PinCountLow ) text += "<font color='red'><b>" + tr("PIN has been entered incorrectly one time") + "</b></font><br />"; text += QString( "<b>%1</b><br />" ).arg( title ); if( flags & Pin2Type ) { _title = tr("Signing") + " - " + title; text += tr("Selected action requires sign certificate.") + "<br />" + (flags & PinpadFlag ? tr("For using sign certificate enter PIN2 with pinpad") : tr("For using sign certificate enter PIN2") ); regexp.setPattern( "\\d{5,12}" ); } else { _title = tr("Authendicating") + " - " + title; text += tr("Selected action requires auth certificate.") + "<br />" + (flags & PinpadFlag ? tr("For using auth certificate enter PIN1 with pinpad") : tr("For using auth certificate enter PIN1") ); regexp.setPattern( "\\d{4,12}" ); } setWindowTitle( _title ); label->setText( text ); if( flags & PinpadFlag ) { setWindowFlags( (windowFlags() | Qt::CustomizeWindowHint) & ~Qt::WindowCloseButtonHint ); QProgressBar *progress = new QProgressBar( this ); progress->setRange( 0, 30 ); progress->setValue( progress->maximum() ); progress->setTextVisible( false ); l->addWidget( progress ); QTimeLine *statusTimer = new QTimeLine( progress->maximum() * 1000, this ); statusTimer->setCurveShape( QTimeLine::LinearCurve ); statusTimer->setFrameRange( progress->maximum(), progress->minimum() ); connect( statusTimer, SIGNAL(frameChanged(int)), progress, SLOT(setValue(int)) ); connect( this, SIGNAL(startTimer()), statusTimer, SLOT(start()) ); } else { m_text = new QLineEdit( this ); m_text->setEchoMode( QLineEdit::Password ); m_text->setFocus(); m_text->setValidator( new QRegExpValidator( regexp, m_text ) ); connect( m_text, SIGNAL(textEdited(QString)), SLOT(textEdited(QString)) ); l->addWidget( m_text ); QDialogButtonBox *buttons = new QDialogButtonBox( QDialogButtonBox::Ok|QDialogButtonBox::Cancel, Qt::Horizontal, this ); ok = buttons->button( QDialogButtonBox::Ok ); ok->setAutoDefault( true ); connect( buttons, SIGNAL(accepted()), SLOT(accept()) ); connect( buttons, SIGNAL(rejected()), SLOT(reject()) ); l->addWidget( buttons ); textEdited( QString() ); } }
void KPrPageEffect::setup( const Data &data, QTimeLine &timeLine ) { timeLine.setDuration( m_duration ); m_strategy->setup( data, timeLine ); timeLine.setCurveShape( QTimeLine::LinearCurve ); }