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

什么网站可以免费做试卷永久免费建个人网站

什么网站可以免费做试卷,永久免费建个人网站,深圳网站设计服,seo sem是做什么的【QT5-自我学习-线程qThread移植与使用-通过代码完成自己需要功能-移植小记3】 1、前言2、实验环境3、自我总结(1)文件的编写(2)信号与槽的新理解(3)线程数据的传递 4、移植步骤第一步:添加新文…

【QT5-自我学习-线程qThread移植与使用-通过代码完成自己需要功能-移植小记3】

  • 1、前言
  • 2、实验环境
  • 3、自我总结
    • (1)文件的编写
    • (2)信号与槽的新理解
    • (3)线程数据的传递
  • 4、移植步骤
    • 第一步:添加新文件
    • 第二步:初始化线程与连接内容
    • 第四步:编写线程文件与自定义内容
    • 第五步:补充其它内容
  • 5、实验代码-无
  • 6、细节部分
      • (1)各种报错
      • (2)undefined reference to。。。
      • (3)缺少“Q_OBJECT”关键字
  • 7、总结

1、前言

学习线程其实有一段时间了,当时只是学习,没有实际用起来,最近做的一个qt程序,发现如果不使用线程,那么就会导致界面卡死,这样才体现出线程的实际作用。

这里是第三章,主要是说明如何使用移植,如何嵌入到自己项目中。
并且开启本章前,默认你已经至少练习了一种线程使用方式,如果你练了,那么移植也是非常简单。

2、实验环境

实验环境还是挺重要的,因为有时候,在你电脑上能运行的东西,在别人的电脑就不一定能运行,这一部分的原因就可能是实验版本不一样。
系统环境:window环境
QT软件版本:qt 5.14.2

在这里插入图片描述

3、自我总结

(1)文件的编写

移植的话,如果我们想套在自己的程序上,其实主要两个部分的编写,更准确的是两个文件编写。
1、一部分就是线程文件:对于线程文件,我们需要自己知道,哪里是线程需要外壳,哪里是自己想要跑得程序库内容。
如下举例,在run内里内容,就是咱们自己移植后,需要替换的内容,这里需要我们自己跑自己内容。
在这里插入图片描述
2、另一部分就是主线程文件:在本例中,就是mainwindow.cpp内容,里面主要是连接“connect”,将函数信号槽等连接起来,这样我们点击按键才会触发相应函数。
在这里插入图片描述

(2)信号与槽的新理解

这里算是我自己的一个新理解,我自己在移植的时候,其实在按键里写其他功能内容,同样移植的时候,就复制了这部分内容。但是实际调用功能时,没有点击按键,结果就是咋整,都进不去线程。

用文字描述还是有点抽象,这里如下代码举例、

.....connect(ui->pushButton,&QPushButton::clicked,this,[=](){//发送信号emit starting(10000);//启动线程gen->start();});
......void MainWindow::on_pushButton_clicked()
{......
}

如上,如果我在主界面直接点击按键,是一定可以触发函数 >>on_pushButton_clicked() 和 开启线程的。
因为按键会触发一个clicked信号。
在这里插入图片描述
但是我实际应用时,也是这样写的,但是我不会去点击这个按键,而是使用软件代码去调用函数>>on_pushButton_clicked() ,这样虽然函数会执行,但是不会开启线程,因为没有clicked信号。

这对我这样的新手来说,是一次认知小提升,以前听到理论是提到信号和槽可以分开的,但是用久了,都是一个信号一个槽,会自然认为他们是一体的,没想过要看成两个独立东西。

(3)线程数据的传递

另外另外一点是线程之间传递数据的方式,开始自己不太会的话,可以使用全局变量,但是按照作者的教学,其实用跟简单的方式,这块我着暂时没有深入更多,但以后需要的话,还是需要自己仔细研究下。
在这里插入图片描述

4、移植步骤

这里大概讲讲移植需要做的事情,以供参考。

第一步:添加新文件

在自己工程加入新的.cpp和.h文件
在这里插入图片描述
用来盛放我们自己功能函数与线程这层外壳。
在这里插入图片描述

第二步:初始化线程与连接内容

这里主要是mainwindow.cpp内容,这些函数完全可以封装一下,只要是连接线程作用。
在这里插入图片描述

第四步:编写线程文件与自定义内容

回到线程函数,我们将线程内容填写完,同时写好自己需要内容。

在这里插入图片描述

第五步:补充其它内容

当然还有其它内容需要补充下,比如一些包含文件,一些声明等。
在这里插入图片描述
在这里插入图片描述

5、实验代码-无

本次无实验代码,主要是内容讲解。

6、细节部分

自己调试过程中,或者说移植过程中还是遇到了一些问题的,将其记录下来。

(1)各种报错

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
当时报错的时候,真是一脸懵逼,完全不知道为啥,看代码就定位到447行,查看很久才知道,AexplicitA,就是自己失误打上去的,后来删除后,相继问题就没有,真的很神奇,自己都不知道咋打上去的。

(2)undefined reference to。。。

简单说,就是没有定义fnSend这个函数,这个好像和上一个问题一样的,在关键文件打错了,连带的,后续就没有了。
在这里插入图片描述

(3)缺少“Q_OBJECT”关键字

在这里插入图片描述

7、总结

这样线程也可以告一段落了,等使用的时候,添加进来就可以。

http://www.yidumall.com/news/10792.html

相关文章:

  • 广州网站设计建站sem是什么的英文缩写
  • 中关村哪里可以做网站互联网项目推广
  • 兰州医院网站建设友链网站
  • 网站备案编号武汉seo搜索引擎
  • 做网站有回扣拿吗网络营销专业毕业论文
  • 南阳 网站建设友链交易平台
  • 网站怎么做全屏滚动条bt磁力在线种子搜索神器
  • 哪个网站有激光打标业务做如何做网站推广广告
  • 用jsp做的网站需要什么工具最受欢迎的十大培训课程
  • 公司网站 备案bt蚂蚁磁力搜索天堂
  • 如何去看网站是不是响应式系统优化的意义
  • 桂林网站制作浙江seo外包
  • 适合团购报名的网站开发广州企业网站seo
  • wordpress图片清晰度做seo需要用到什么软件
  • 西安做百度推广网站 怎样备案千万不要学网络营销
  • 鲜花网站建设的主要工作流程网络整合营销4i原则是指
  • 外贸网站建设 蚂蚁 深圳维普网论文收录查询
  • 中文建网站上海网站外包
  • 网站建设客户分析免费网站代理访问
  • 装饰公司营销网站建设潍坊seo计费
  • 网站建设与维护试题含答案sem分析是什么
  • 江苏营销型网站公司谷歌seo推广公司
  • 国外知名设计网站大全seo全网推广
  • 深圳方维网站建设公司在线培训
  • 怎么部署自己的网站网络站点推广的方法有哪些
  • 最新域名永久跳转百度优化大师
  • wordpress改颜色网站推广与优化平台
  • 佛山网站制作做多少钱在线企业管理培训课程
  • 青海营销网站建设公司seo软件开发
  • 高端论坛网站建设百度推广要自己建站吗