目录
一:线程
为实现解码与视频播放同步,引入线程的学习,多个过程的同时进行
testthread.h .cpp
#ifndef TESTTHREAD_H
#define TESTTHREAD_H
#include <QObject>
#include<QThread>
class testthread : public QThread
{
Q_OBJECT
public:
testthread();
void run();
virtual ~testthread();
//定义停止的标志位
bool m_stop;
};
#endif // TESTTHREAD_H
#include "testthread.h"
#include<QDebug>
testthread::testthread()
{
//初始线程未启动
this->m_stop = false;
}
void testthread::run()
{
qDebug() << "线程开始";
//线程运行中
while(!m_stop)
{
//线程处理函数
for(int i = 0; i < 1000; i++)
{
qDebug() << i ;
}
sleep(1000);
}
qDebug() << "线程结束";
}
testthread::~testthread()
{
}
二:使用线程(同步操作)
1.开机动画线程同步进行
2.登录窗口显示线程同步进行
3.点击(某个)按钮线程同步进行
4.对于视频播放器,应该点击视频列表中某个项,对视频的播放暂停进行控制
void videoWidgetShowSlot(QListWidgetItem*item);
connect(videowinlist,SIGNAL(itemClicked(QListWidgetItem*)),this,SLOT(videoWidgetShowSlot(QListWidgetItem*)));
void IndexWin::videoWidgetShowSlot(QListWidgetItem *item)
{
qDebug()<<item->text()<<"界面创建";
//线程的创建
testthread *t = new testthread;
//线程的启动
t->start();
}