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

北京做网站的人装饰公司做网站怎么收费

北京做网站的人,装饰公司做网站怎么收费,大良购物网站建设,做网站卖产品1、在widget.ui中使用 LCD Number控件 注意:若 LCD 控件不是多线程,LCD控件则会瞬间自增到最大的数值,如上图,说明两者都是多线程处理 2、实现方式 1、创建 LCD 控件并修改为 LCD1 2、创建任务类 mytask. h,对任务类…

1、在widget.ui中使用 LCD Number控件

注意:若 LCD 控件不是多线程,LCD控件则会瞬间自增到最大的数值,如上图,说明两者都是多线程处理

2、实现方式

1、创建 LCD 控件并修改为 LCD1

2、创建任务类 mytask. h,对任务类添加信号、槽、任务的全局变量

#ifndef MYTASK_H
#define MYTASK_H#include <QObject>class MyTask : public QObject
{Q_OBJECT
public:explicit MyTask (QObject *parent = nullptr);//子线程发送信号
signals:void task2_signal (int i);//子线程接收的槽函数
public slots:void StartTimerSlots ();private:int i=0;//设置为全局变量后,必须为置为0,否则就会出现任意值QString current_date=nullptr;//可以不用赋值,默认被置为NULL
};#endif // MYTASK_H

3、在用户界面 widget. h 添加全局变量(线程变量、任务变量)

#ifndef WIDGET_H
#define WIDGET_H#include <QThread>
#include <QWidget>
#include "mytask.h"QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACEclass Widget : public QWidget
{Q_OBJECTpublic:Widget(QWidget *parent = nullptr);~Widget();void TasksInit();//任务初始化private:Ui::Widget *ui;MyTask *task2; //任务2QThread *mythread;//任务2的线程};
#endif // WIDGET_H

4、在 mytask. cpp 中实现 void StartTimerSlots () 这个函数

#include "mytask.h"
#include <QDebug>
#include <unistd.h>MyTask::MyTask(QObject *parent) : QObject(parent)
{}//任务的槽函数
void MyTask::StartTimerSlots()
{//创建定时器对象QTimer *timer = new QTimer;//定时器超时(每1s)后,自动加1connect(timer, &QTimer::timeout, this, [=]{qDebug() << "子线程定时器触发" << i;emit task2_signal(i++);});timer->start(1000);
}

5、在 wideget. cpp 中

#include "widget.h"
#include "ui_widget.h"
#include <QDebug>
#include <QTimer>
#include "mytask.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);TasksInit();
}Widget::~Widget()
{delete ui;
}/*
功能:对 TCP服务端 进行多线程处理
参数:无参
返回值:无
*/
void Widget::TasksInit()
{MyTask *task2 = new MyTask;QThread *mythread = new QThread;task2->moveToThread(mythread);mythread->start();//创建定时器的开启和关闭connect(mythread, &QThread::started,task2,&MyTask::StartTimerSlots);  // 启动信号connect(mythread, &QThread::finished,task2,&QObject::deleteLater);    // 停止信号connect(mythread, &QThread::finished,mythread,&QObject::deleteLater);    // 停止信号connect(task2,&MyTask::task2_signal,this,[=](int i){ui->LCD1->display(i);},Qt::QueuedConnection);connect(this, &QObject::destroyed, this, [=] {delete task2;mythread->quit();mythread->wait();mythread->deleteLater();});
}

6、解释 wideget. cpp 中执行的步骤

MyTask *task2 = new MyTask; //创建任务对象
QThread *mythread = new QThread; //创建线程对象 
task2->moveToThread(mythread);//将任务放置到线程中
mythread->start();//开启线程
//等待线程开启,执行任务中的槽函数
connect(mythread, &QThread::started,task2,&MyTask::StartTimerSlots);
//等待线程结束,就销毁任务、线程
connect(mythread, &QThread::finished,task2,&QObject::deleteLater);    
connect(mythread, &QThread::finished,mythread,&QObject::deleteLater); 
//等待任务发送信号,用户界面this,接收信号发来的参数i
connect(task2,&MyTask::task2_signal,this,[=](int i){
            ui->LCD1->display(i);//数据i++用于显示LCD
        });
//销毁任务,线程(先销毁任务,在销毁线程)
connect(this, &QObject::destroyed, this, [=] {
    delete task2;
    mythread->quit();
    mythread->wait();
    mythread->deleteLater();
});
注意:task2的销毁事件先于mythread销毁事件
效果:通过上述,实现了,在多线程中使用定时器,定时器与线程同时开启、关闭


文章转载自:

http://SKg2sylX.tkyry.cn
http://mn8YPZLX.tkyry.cn
http://8fdjjpPf.tkyry.cn
http://9ceQxNiQ.tkyry.cn
http://STIkYzH0.tkyry.cn
http://NYBJrUBr.tkyry.cn
http://gdoNNn5H.tkyry.cn
http://WjLCLsPO.tkyry.cn
http://s90j7CnI.tkyry.cn
http://7BJW2Zoi.tkyry.cn
http://CG70YvaI.tkyry.cn
http://LAKZoZLB.tkyry.cn
http://gtHPnUwa.tkyry.cn
http://tSTNoeU3.tkyry.cn
http://CzNBdZCU.tkyry.cn
http://xDLJmF1Z.tkyry.cn
http://1VPHlOpJ.tkyry.cn
http://eWtcFJs5.tkyry.cn
http://wyLEhI7l.tkyry.cn
http://JJJ35Ubz.tkyry.cn
http://A4w6KCg4.tkyry.cn
http://NK9BPiac.tkyry.cn
http://SJVtmd4A.tkyry.cn
http://Jluu9sPp.tkyry.cn
http://0vBDGlp3.tkyry.cn
http://zeW93v5m.tkyry.cn
http://KQBGCx4h.tkyry.cn
http://yNEfhmoF.tkyry.cn
http://3IoZACOB.tkyry.cn
http://d8KrHNSi.tkyry.cn
http://www.dtcms.com/wzjs/753556.html

相关文章:

  • 专业的丹阳网站建设西安做网站公司有哪些?
  • 如何优化wordpressseo优化网站教程百度
  • vue做公司网站wordpress中文页面
  • 网站设计在线精品课程网站建设步骤
  • 郑州网站模板建设怎么用手机做网站教程
  • 自己怎么样做游戏网站预约型网站模板源码
  • 智慧团建系统登录网站网站建设要架服务器
  • 国外比较好的建筑设计网站手工制作灯笼的步骤
  • 大学科技园东区 做网站wordpress批量读取excel
  • 代码需求网站网址你懂我意思吧在线2020
  • 做视频直播的网站有哪些免费网站推广优化
  • 网站制作公司网广西建设网站网址多少
  • 韩国美食做视频网站有哪些东莞网站建设设计
  • 怀化网站优化公司哪家好想要去网站做友情链接怎么发邮件
  • 加速网站的加速器重庆seo排名电话
  • 移动电子商务网站建设企业产品网站模板
  • 网站错误404网站qq未启用
  • 网络营销咨询网站源码中国前十名别墅装修公司
  • 泰安医院网站建设网站建设人员培训
  • 电商网站制作设计财经新闻最新消息
  • 盐城哪家专业做网站做flash网站遇到函数
  • 万峰科技.jsp网站开发四酷全书 m企业网站seo分析
  • 东莞高埗做网站哪个公司好成都网站设计制作
  • 网站开发技术支持与保障换了家公司做网站如何接入备案
  • 网站建设产品图片尺寸要求淘宝页面设计模板
  • 网站的关键词搜索怎么做中山模板网站建设
  • 谁教我做啊谁会做网站啊个人主页源码
  • 苏州模板网站专业设计重庆建设安全管理网
  • 朝西村网站建设公司影响网站排名重要因素
  • 商城网站建设行业现状网站栏目设计规划表