Skip to content

Latest commit

 

History

History
53 lines (39 loc) · 1.35 KB

PlayerBase.md

File metadata and controls

53 lines (39 loc) · 1.35 KB

Player Base

1、使用QT创建一个基于对话框的应用程序,带有两个Button:Open,Play 2、运行,可以生成一个应用程序,对话框的。 3、添加新文件->Qt设计师界面类->起名字PlayerRenderer

我们在dialog.ui中添加一个horizontalLayout,然后把PlayerRenderer加到这里面来:

4、在Dialog::Dialog(QWidget *parent)添加以下几句

player_renderer_ = new PlayerRenderer(this);
ui->horizontalLayout->addWidget(player_renderer_);
player_renderer_->hide();

connect(ui->pushButtonOpen,SIGNAL(clicked()),this,SLOT(slotButtonClick()));
connect(ui->pushButtonPlay,SIGNAL(clicked()),this,SLOT(slotButtonClick()));

slotButtonClick实现如下

void Dialog::slotButtonClick() {
    if (QObject::sender() == ui->pushButtonOpen)
    {
        qDebug()<<"pushButtonOpen";
    }
    else if (QObject::sender() == ui->pushButtonPlay)
    {
        qDebug()<<"pushButtonPlay";

        player_renderer_->show();

        player_renderer_->update();
    }
}

PlayerRenderer::paintEvent重写如下

void PlayerRenderer::paintEvent(QPaintEvent *event) {
    qDebug()<<"paintEvent";

    QPainter painter(this);

    painter.drawLine(QPoint(0,0),QPoint(100,100));

}

这样点击Play按钮就会有如下的效果

PlayerRenderer

以后PlayerRenderer只负责显示视频