2013-10-30 13 views
0

모두들. 나는 qt5에서 내 qt4 음악 플레이어를 다시 쓰고 있습니다. 그리고 phonon과 같이 적절한 슬라이더를 만들 수 없습니다. UI의 일부분을 실현하는 간단한 예제가 있습니까? UPDqt5의 Seekslider 실현

: 여기 는 그렇게 내 방법입니다

//mainwindow.cpp 
connect(ui->seekSlider,SIGNAL(sliderMoved(int)),music,SLOT(setPosition(int))); 
connect(music,SIGNAL(newPosition(qint64)),this,SLOT(positionChanged(qint64))); 
connect(music,SIGNAL(newRange(qint64)),this,SLOT(durationChanged(qint64))); 

void MainWindow::positionChanged(qint64 position) 
{ 
    ui->seekSlider->setValue(position); 
} 

void MainWindow::durationChanged(qint64 duration) 
{ 
    ui->seekSlider->setRange(0,duration); 
} 


//music class realization 
player = new QMediaPlayer; 
connect(player,SIGNAL(positionChanged(qint64)),this,SIGNAL(newPosition(qint64))); 
connect(player,SIGNAL(durationChanged(qint64)),this,SIGNAL(newRange(qint64))); 

void MusicControl::setPosition(int position) 
{ 
    player->setPosition(position); 
} 

답변

0

내가 오늘 같은 문제를 건너 왔어요, 나는 방법은 여기에서 소개 사용 : How to nicely "cast" qint64 to int for QProgressBar,

를 솔루션에 관해서는, 그것은 아마 대부분 잘 작동하지만 qint64는 64 비트이고 int는 대부분 32 비트이므로 슬라이더 값이 오버플로 될 수 있습니다. 백분율 값을 설정하는 것이 더 안전 할 수 있습니다.