当前位置: 首页 > wzjs >正文

微信h5在哪个网站做站长之家备案查询

微信h5在哪个网站做,站长之家备案查询,html页面设计工具,关键词自动生成器QT多线程 1.涉及到类和方法示例代码:未重写run函数 2.使用思路3.常用方法4.示例代码1:重写线程run函数现象: 5.示例代码2:多线程显示切换图片,使用公有方法现象: 1.涉及到类和方法 类:QThread 示…

QT多线程

  • 1.涉及到类和方法
    • 示例代码:未重写run函数
  • 2.使用思路
  • 3.常用方法
  • 4.示例代码1:重写线程run函数
    • 现象:
  • 5.示例代码2:多线程显示切换图片,使用公有方法
    • 现象:

1.涉及到类和方法

类:QThread

示例代码:未重写run函数

// widget.h
#ifndef WIDGET_H
#define WIDGET_H#include <QWidget>
#include <QThread>QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACEclass Widget : public QWidget
{Q_OBJECTpublic:Widget(QWidget *parent = nullptr);~Widget();private slots:void on_btn_start_clicked();void on_btn_stop_clicked();private:Ui::Widget *ui;QThread *thread;
};
#endif // WIDGET_H// widget.cpp
#include "widget.h"
#include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);thread = new QThread(this);
}Widget::~Widget()
{delete ui;
}//开启线程
void Widget::on_btn_start_clicked()
{//start源码会自动调用执行run,但QThread自带的run方法是空代码thread->start();
}//关闭线程--》终止线程
void Widget::on_btn_stop_clicked()
{//类似于pthread_cancelthread->terminate();//回收线程thread->wait();
}

2.使用思路

QT中多线程原理分析:
类比:linux中多线程 pthread_create( 线程的任务函数)
同理:QT中创建线程,任务函数也是需要程序员自己去写
[virtual protected] void QThread::run() //源码也是空的
virtual void QThread::run()
{
//空代码
}
第一步:自定义一个类继承QThread,然后重写父类的同名方法run()(此时程序员在run方法里面实现自己的代码逻辑)
如何在QT工程中添加新的自定义类?
方法:右键点击工程–》选择C++类
第二步:创建一个子类对象,调用start()方法就能自动开启一个线程
原理: start()方法开启线程,然后自动执行run函数

3.常用方法

(1)终止线程void QThread::terminate()
(2)回收线程bool QThread::wait(unsigned long time = ULONG_MAX)参数:time --》超时等待时间  
(3)延时函数//秒级延时[static] void QThread::sleep(unsigned long secs)//毫秒级延时[static] void QThread::msleep(unsigned long msecs) //微秒级延时[static] void QThread::usleep(unsigned long usecs)

4.示例代码1:重写线程run函数

//===================主窗口代码=================//
// widget.h
#ifndef WIDGET_H
#define WIDGET_H#include <QWidget>
#include <mythread.h>QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACEclass Widget : public QWidget
{Q_OBJECTpublic:Widget(QWidget *parent = nullptr);~Widget();private slots:void on_btn_start_clicked();void on_btn_stop_clicked();private:Ui::Widget *ui;myThread *custonThread;
};
#endif // WIDGET_H// widget.cpp
#include "widget.h"
#include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);custonThread = new myThread;
}Widget::~Widget()
{delete ui;
}//开启线程
void Widget::on_btn_start_clicked()
{qDebug()<<"开启线程";custonThread->start();  //start源码会自动调用执行子类自己的run
}//关闭线程--》终止线程
void Widget::on_btn_stop_clicked()
{qDebug()<<"停止线程";custonThread->terminate(); //类似于pthread_cancelcustonThread->wait(); //回收线程
}//===================线程类代码=================//
// mythread.h
#ifndef MYTHREAD_H
#define MYTHREAD_H#include <QWidget>
#include <QThread>
#include <QDebug>class myThread : public QThread
{Q_OBJECT
public:explicit myThread(QWidget *parent = nullptr);//重写父类QThread的虚函数run,实现多态void run() override;
signals:};#endif // MYTHREAD_H// mythread.cpp
#include "mythread.h"myThread::myThread(QWidget *parent) : QThread(parent)
{}void myThread::run()
{while(1){qDebug()<<"hello world!";//sleep(1); //C语言库函数QThread::sleep(1);  //1秒//QThread::msleep(1); //1毫秒//QThread::usleep(1); //1微秒}
}

现象:

在这里插入图片描述

5.示例代码2:多线程显示切换图片,使用公有方法

//==================主窗口代码=====================//
// mainwidget.h
#ifndef MAINWIDGET_H
#define MAINWIDGET_H#include <QWidget>
#include <mythread.h>QT_BEGIN_NAMESPACE
namespace Ui { class mainWidget; }
QT_END_NAMESPACEclass mainWidget : public QWidget
{Q_OBJECTpublic:mainWidget(QWidget *parent = nullptr);~mainWidget();private slots:void on_btn_start_clicked();void on_btn_stop_clicked();private:Ui::mainWidget *ui;myThread *custonThread;
};
#endif // MAINWIDGET_H// mainwidget.cpp
#include "mainwidget.h"
#include "ui_mainwidget.h"mainWidget::mainWidget(QWidget *parent): QWidget(parent), ui(new Ui::mainWidget)
{ui->setupUi(this);custonThread = new myThread;//调用公有方法把ui中标签传递给线程custonThread->getLabel(ui->label);
}mainWidget::~mainWidget()
{delete ui;
}//开启线程
void mainWidget::on_btn_start_clicked()
{qDebug()<<"开启线程";custonThread->start();  //start源码会自动调用执行子类自己的run
}//关闭线程--》终止线程
void mainWidget::on_btn_stop_clicked()
{qDebug()<<"停止线程";custonThread->terminate(); //类似于pthread_cancelcustonThread->wait(); //回收线程
}//=================线程类代码====================//
// mythread.h
#ifndef MYTHREAD_H
#define MYTHREAD_H#include <QWidget>
#include <QThread>
#include <QDebug>
#include <QLabel>class myThread : public QThread
{Q_OBJECT
public:explicit myThread(QWidget *parent = nullptr);//重写父类QThread的虚函数run,实现多态void run() override;//接收主界面传递过来的标签void getLabel(QLabel *lb);private:QLabel *mylb; //保存传递过来的标签int n;QStringList piclist; //保存要显示的图片
};#endif // MYTHREAD_H// mythread.cpp
#include "mythread.h"
#include <QPixmap>myThread::myThread(QWidget *parent) : QThread(parent)
{n=0;piclist.append("C:/Users/LimingRong/Desktop/vm_shared/code/QT_proj/res/1.png");piclist.append("C:/Users/LimingRong/Desktop/vm_shared/code/QT_proj/res/2.png");piclist.append("C:/Users/LimingRong/Desktop/vm_shared/code/QT_proj/res/3.png");
}void myThread::run()
{while(1){QPixmap map(piclist[n]);map.scaled(mylb->width(),mylb->height());mylb->setScaledContents(true);mylb->setPixmap(map);QThread::sleep(1);  //1秒if(n<piclist.size()-1)n++;elsen=0;}
}void myThread::getLabel(QLabel *lb)
{mylb = lb;
}

现象:

请添加图片描述

http://www.dtcms.com/wzjs/440083.html

相关文章:

  • 网站开发流程指什么营销软文推广平台
  • 检察院做网站的目的推广普通话内容
  • 哪些网站可以做h5seo快速工具
  • dz论坛怎么做视频网站吗企业网站的推广形式有
  • 做网站打印费复印费清单怎么把抖音关键词做上去
  • 沭阳做网站shy1zseo推广需要多少钱
  • 网站建设优惠中字节跳动广告代理商加盟
  • 没有面板的服务器怎么建设网站南宁求介绍seo软件
  • 狼人最新网站巨量引擎广告投放平台登录入口
  • 专门做餐饮空间设计的网站sem工作原理
  • 商城网站建设视频教程百度推广账号出售
  • 旅游类网站建设教案今日国内新闻
  • 新公司网站建设方案seo推广优化外包价格
  • 方圆网通网站建设公司网站怎么优化
  • 重庆网站建设 公司搜索引擎收录查询工具
  • 杭州做公司网站哪家好站长之家seo一点询
  • 免费网站建设有哪些百度有刷排名软件
  • 网站公司谁家好2022年五月份热点事件
  • 装潢设计学校seo sem是啥
  • wordpress 检索海口seo计费
  • 九度网站建设百度网址大全免费下载
  • 新泰房产信息与住宅网seo评测论坛
  • wordpress eshop 中文国内好的seo网站
  • 镇江网站建设zjmfkj免费seo免费培训
  • wordpress 视频网站新手学seo
  • wordpress 模块开发教程seo网站优化方法
  • 标准网站是哪个百度快照查询入口
  • 无锡有哪些做网站的公司一网信息一个简单便捷的新闻网站
  • 哈尔滨网站建设学校站长工具
  • 网站开发与应用案例教程优化设计答案六年级上册