Qt视频播放器界面Demo

QMPlayer

Qt实现的视频播放器界面Demo。

更多精彩内容
👉个人内容分类汇总 👈

1、实现功能

  • 基于QMWidget的自定义窗口;
  • 增加侧边栏模块;
  • 增加播放控制栏模块,包含播放停止、上一集、下一集、视频时间、音量控制、设置功能按键样式
  • 增加进度条模块,可跳转到鼠标点击位置
  • 通过QPropertyAnimation实现侧边栏、进度条、控制栏打开关闭动画效果;
  • 实现双击全屏显示、还原效果。

2、演示

在这里插入图片描述

3、动画效果代码

#include "controlbar.h"
#include "ui_controlbar.h"

#include <qdebug.h>
#include <qpropertyanimation.h>
#include <QStyle>

ControlBar::ControlBar(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::ControlBar)
{
    ui->setupUi(this);

    m_paShow = new QPropertyAnimation(this, "pos");
    m_paShow->setDuration(500);
    connect(m_paShow, &QPropertyAnimation::finished, this, &ControlBar::on_finished);

}

ControlBar::~ControlBar()
{
    delete ui;
}

/**
 * @brief  打开显示动画(注意必须放在窗口改变后面,如全屏显示、还原)
 */
void ControlBar::show()
{
    QWidget::show();
    int y = this->parentWidget()->height() - this->height() - 20;
    m_paShow->setStartValue(QPoint(this->x(), this->parentWidget()->height()));
    m_paShow->setEndValue(QPoint(this->x(), y));
    m_paShow->setEasingCurve(QEasingCurve::OutQuad);
    m_paShow->start();
}

/**
 * @brief 关闭显示动画(注意必须放在窗口改变后面,如全屏显示、还原)
 */
void ControlBar::hide()
{
    int y = this->parentWidget()->height() - this->height() - 20;
    m_paShow->setStartValue(QPoint(this->x(), y));
    m_paShow->setEndValue(QPoint(this->x(), this->parentWidget()->height()));
    m_paShow->setEasingCurve(QEasingCurve::Linear);
    m_paShow->start();
}

void ControlBar::on_finished()
{
    if(m_paShow->endValue().toPoint().y() == this->parentWidget()->height())
    {
        QWidget::hide();
    }
}

void ControlBar::on_but_play_clicked()
{
    if(m_play)
    {

    }
    else
    {

    }

    m_play = !m_play;
    ui->but_play->setProperty("play", m_play);
    ui->but_play->style()->polish(ui->but_play);
}


void ControlBar::on_but_volume_clicked()
{
    m_volume = !m_volume;
    ui->but_volume->setProperty("setup", m_volume);
    ui->but_volume->style()->polish(ui->but_volume);
}


4、源代码

gitee
github

  • 5
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
### 回答1: QT智能家居界面demo是一个基于QT开发平台的智能家居控制界面演示。该demo的目的是展示如何利用QT框架快速构建一个直观、易用的智能家居界面。 这个demo主要分为两个部分:控制面板和设备管理。 控制面板是用户操作的主要界面,通过界面上的按钮、滑块、开关等元素,用户可以方便地对智能家居设备进行控制。例如,用户可以通过点击按钮打开或关闭电灯、调整空调的温度、调节窗帘的开合度等。通过直观明了的界面操作,用户可以轻松掌控家中各种智能设备,提升生活的舒适度和便利性。 设备管理是针对已连接到智能家居系统的设备进行设置和管理的界面。用户可以通过设备管理界面添加新设备、编辑设备信息、调整设备优先级等。此外,用户还可以通过设备管理界面对已连接设备的状态进行监测和控制,例如查看温度传感器的实时数据、设定定时任务等。 QT智能家居界面demo的特点是界面美观、功能丰富、易于扩展。QT作为一个跨平台的开发工具,能够让开发者快速搭建各种控制界面,同时支持多种编程语言和操作系统,具有强大的跨平台兼容性。此外,QT的图形库也提供了丰富的界面元素和交互效果,可以让开发出的智能家居界面更具吸引力和用户友好性。 总之,QT智能家居界面demo通过直观易用的控制面板和灵活可扩展的设备管理,展示了一个功能强大、界面美观的智能家居控制界面,为用户提供了便捷、智能的家居生活体验。 ### 回答2: QT智能家居界面demo是一个展示智能家居控制面板的演示程序。它使用了QT软件开发框架,可以通过图形界面进行智能家居设备的控制和监控。 在该demo中,用户可以通过界面上的按钮和滑块来控制智能家居设备的开关、亮度、温度等参数。例如,用户可以点击灯的按钮来控制灯的开关状态,或者通过滑块来调整灯的亮度。除了基本的设备控制功能,该demo还提供了一些更高级的功能,如定时任务、场景设定和远程控制等。 通过该demo,用户可以直观地了解智能家居系统的使用方式和功能特点。他们可以体验到智能家居的便利性和智能化带来的舒适感。此外,通过界面上的数据显示,用户可以实时监测智能家居设备的状态和数据,如温度、湿度、用电量等。这些数据可以帮助用户更好地管理和优化智能家居系统。 该demo还具有良好的用户交互性和可扩展性。用户可以根据自己的需求和喜好,自定义界面的布局和样式,以及添加或移除设备控制按钮。这使得该demo能够适应不同用户的需求和设备配置。 总之,QT智能家居界面demo提供了一个直观、易用且功能丰富的界面,方便用户控制和监控智能家居设备。它展示了智能家居的智能化、便利性和舒适性,为用户带来更好的生活体验。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mahuifa

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值