elementUI的table组件实现setCurrentRow的滚动条定位效果

在github上咨询了,直接给了代码:

https://jsfiddle.net/tk37c5cb/14/

转载于:https://www.cnblogs.com/blueroses/p/8522073.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
include "widget.h" #include "ui_widget.h" Widget::Widget(QWidget *parent) : QWidget(parent), ui(new Ui::Widget) { ui->setupUi(this); pathName = "/home/akaedu/akplayer/music/"; // getMusicList(); dir.setPath(pathName); musicList.append(dir.entryList()); musicList.removeFirst(); musicList.removeFirst(); musicNo = 0; musicCount = musicList.size(); mediaObject = new Phonon::MediaObject(this); audioOutput = new Phonon::AudioOutput(Phonon::MusicCategory,this); volumeSlider = new Phonon::VolumeSlider(this); seekslider = new Phonon::SeekSlider(this); timer = new QTimer(this); Phonon::createPath(mediaObject,audioOutput); ui->listWidget->addItems(musicList); ui->progressBar->setValue(0); connect(timer,SIGNAL(timeout()),this,SLOT(timeOutSlot())); connect(mediaObject,SIGNAL(finished()),this,SLOT(playNext())); play(musicNo); timer->start(400); volumeSlider->setAudioOutput(audioOutput); volumeSlider->setOrientation(Qt::Horizontal); volumeSlider->setGeometry(15,10,150, 30); seekslider->setMediaObject(mediaObject); seekslider->setGeometry(20,70,471,12); QPixmap pic; pic.load("/home/akaedu/akplayer/123.jpg"); pic = pic.scaled(QSize(611,521)); ui->label->setPixmap(pic); } Widget::~Widget() { delete ui; } void Widget::playNext() { on_pb_down_clicked(); } void Widget::timeOutSlot() { ui->progressBar->setValue(100*mediaObject->currentTime()/mediaObject->totalTime()+1); ui->lb_cu->setText(time.addMSecs(mediaObject->currentTime()).toString()); ui->lb_to->setText(time.addMSecs(mediaObject->totalTime()).toString()); time1 = QTime::currentTime(); QString text = time1.toString("hh:mm:ss"); ui->lcdNumber->display(text); } void Widget::play(int i) { QString ptr; ptr.append(pathName); ptr.append(musicList.at(i).toLocal8Bit().constData()); mediaObject->setCurrentSource(ptr); ui->textEdit->setReadOnly(true); ui->textEdit->clear(); ui->textEdit-> append(musicList.at(i)); ui->listWidget->item(i)->setSelected(true); ui->listWidget->setCurrentRow(i); } //int Widget::getMusicList() //{ // DIR *dir; // struct dirent *ptr; // dir = opendir(pathName); // if(!dir){ // qDebug()<< "open dir error!"; // return -1; // } // while((ptr = readdir(dir))) // { // if(ptr->d_name[0] == '.') continue; // musicList << ptr->d_name; // } // closedir(dir); //} void Widget::on_pB_play_clicked() { ui->pB_play->setDisabled(true); ui->pB_stop->setDisabled(false); mediaObject->play(); } void Widget::on_listWidget_doubleClicked(const QModelIndex &index) { ui->pB_play->setDisabled(true); ui->pB_stop->setDisabled(false); play(index.row()); musicNo = index.row(); mediaObject->play(); timer->start(400); } void Widget::on_pB_stop_clicked() { ui->pB_stop->setDisabled(true); ui->pB_play->setDisabled(false); mediaObject->pause(); } void Widget::on_pb_down_clicked() { ui->pB_play->setDisabled(true); ui->pB_stop->setDisabled(false); if(musicNo < musicCount - 1 && musicNo >= 0) { musicNo++ ; } else{ musicNo = 0; } play(musicNo); mediaObject->play(); } void Widget::on_pB_up_clicked() { ui->pB_play->setDisabled(true); ui->pB_stop->setDisabled(false); if(musicNo < musicCount && musicNo > 0) { musicNo--; } else{ musicNo =musicCount - 1; } play(musicNo); mediaObject->play(); } void Widget::on_pB_speed_clicked() { mediaObject->seek(mediaObject->currentTime()+10000); } void Widget::on_pB_back_clicked() { mediaObject->seek(mediaObject->currentTime()-10000); }

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值