利用 QT中QTimer进行刷新。

//main.cpp
#include "mainwindow.h"
#include <QApplication>int main(int argc, char *argv[])
{QApplication a(argc, argv);MainWindow w;w.show();return a.exec();
}
//mainwindow.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"MainWindow::MainWindow(QWidget *parent) :QMainWindow(parent),ui(new Ui::MainWindow)
{ui->setupUi(this);timer   = new QTimer(this);QObject::connect(timer,SIGNAL(timeout()),this,SLOT(readFrameSlot()));
}MainWindow::~MainWindow()
{delete ui;
}void MainWindow::on_pushButton_clicked()
{capture.open(0);//"1.avi"if( !capture.isOpened()){qDebug()<< "open camera error"<<endl;this->close();}else{timer->start(33);}
}void MainWindow::on_pushButton_2_clicked()
{timer->stop();ui->label->setPixmap(QPixmap());this->close();
}
void MainWindow::readFrameSlot()
{capture >> frame;if(!frame.empty()){img = QImage((const unsigned char*)(frame.data),frame.cols,frame.rows,QImage::Format_RGB888).rgbSwapped();img = img.scaled(ui->label->width(),ui->label->height(),Qt::IgnoreAspectRatio,Qt::FastTransformation);//调整图片大小,使图片和显示的label控件一样大ui->label->setPixmap(QPixmap::fromImage(img));}
}
//mainwindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H#include <QMainWindow>
#include <QDialog>
#include <QDebug>
#include <QTimer>
#include <QImage>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
using namespace cv;
namespace Ui {
class MainWindow;
}class MainWindow : public QMainWindow
{Q_OBJECTpublic:explicit MainWindow(QWidget *parent = 0);~MainWindow();Mat frame;//video frameVideoCapture capture;QTimer *timer;QImage img;private slots:void on_pushButton_clicked();void on_pushButton_2_clicked();void readFrameSlot();
private:Ui::MainWindow *ui;
};#endif // MAINWINDOW_H

若出现UI什么问题大部分都是都是ui界面文件中的控件名字与代码中不一致导致的。

QT5.7+opencv3.0做的简易视频播放器相关推荐

  1. QT5.50+opencv3.0+VS2013安装教程

    QT5.50+opencv3.0+VS2013安装教程 1.安装软件 VS2013 opencv3.0 qt-vs-addin-1.2.4-opensource qt-opensource-windo ...

  2. C语言基于GTK+Libvlc实现的简易视频播放器(二)

    简易视频播放器-全屏播放 一.课程说明 上一次我们使用gtk+libvlc实现了一个最简单的视频播放器,可以实现点击按钮暂定和停止播放视频,以及同步显示视频播放进度,但即使作为一个视频播放器,只有这些 ...

  3. 【Java】简易视频播放器

    [效果图] [功能] 1.当窗口获取焦点后,按空格暂停/播放 2.原速播放键.暂停/播放键.倍速播放键(最高3倍速,每次递增0.5) 3.进度条可点击选择播放位置 4.时间显示.播放速度显示 [项目与 ...

  4. java视频播放器制作_java创建简易视频播放器

    java创建简易视频播放器 发布时间:2020-09-23 04:28:09 来源:脚本之家 阅读:98 作者:南柯一梦xihe 最近有个多媒体的作业,要求使用visualC++和OpenCV编写一个 ...

  5. 视频播放页php,html jquery简易视频播放器

    html jquery js 简易视频播放器 直接上代码:html> Document #durationbar{ width: 500px; height: 20px; } #duration ...

  6. 【基于QMediaPlayer的简易视频播放器】— 3、结合QSlider实现播放进度控制和音量控制

    基于QMediaPlayer的简易视频播放器 1.创建基本布局 2.QMediaPlayer的基本使用 3.结合QSlider实现播放进度控制和音量控制 4.重载QSlider鼠标响应事件,实现单击跳 ...

  7. Android的媒体播放器——简易视频播放器(详解)

    一.案例效果 二.主界面的设计与功能 2.1 案例效果 2.2 布局界面 activity_main.xml 参考代码: <?xml version="1.0" encodi ...

  8. 视频播放器+android,简易视频播放器

    NetConnection 对象 0002 var netConnection:NetConnection=new NetConnection ; 0003 /*如果连接到没有使用服务器的 priva ...

  9. Video标签自定义简易视频播放器

    Video标签自定义简易视频播放器 提示:以下是本篇文章正文内容,下面案例可供参考 一.Dom结构 <template><el-dialog :title="winTitl ...

最新文章

  1. 关于cookie与本地 存储的区别的问题。
  2. 年度总结——文字留住岁月,情感点缀年华
  3. 58同城买二手电脑的感想
  4. 客户连接多个服务端_Linux 服务端最大并发数是多少?
  5. mysql-bin日志文件清理
  6. 求一个任意实数c的算术平方根g_中考总复习实数知识点
  7. java 限流熔断_SpringCloud-Alibaba-Sentinel服务降级,热点限流,服务熔断
  8. 咏南中间件+开发框架中秋国庆大促
  9. 添加库文件_PLC|教你把 Micro/WIN 的库文件导入到 Micro/WIN SMART 中
  10. android 代码 华为 os,Android | 带你零代码实现安卓扫码功能
  11. 《深度学习Python实践》附录——决策树模型可视化
  12. 用 QT实现拖放(drag-drop)功能
  13. 软件设计师刷题与知识点总结 笔记-2
  14. CDN加速技术可以解决的问题——诺必达云服务
  15. rootfs bootfs bootloader
  16. 五子棋(含较高级的人机对战)
  17. spring boot实战
  18. Oracle清理回收站的方法
  19. 我的编程竞赛之路 ——中国大学生计算机编程第一人楼天城访谈
  20. zebra源码分析-导读

热门文章

  1. 二手车好大风,老平台都推新服务
  2. 英伟达GPU产品分类说明
  3. 使用Qt编辑关闭窗口程序的一些见解
  4. [转载]无欲则刚?_huadingjin_新浪博客
  5. Ruby On Rails-2.0.2源代码分析(1)-Rails的启动
  6. Android卡顿检测及优化
  7. 函隐式声明函数是什么意思
  8. C语言学习之选择结构程序设计总结
  9. [USACO Mar08] 游荡的奶牛
  10. Hive之bucket表使用场景