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

服务器怎么添加网站韶关网站开发

服务器怎么添加网站,韶关网站开发,淘客网站开发,世界互联网峰会概念股文章目录 qt信号与槽--02自定义槽函数第一种方式第二种方式 自定义信号不带参数带参数 总结结语 很高兴和大家见面,给生活加点impetus!!开启今天的编程之路!! 今天我们进一步c11中常见的新增表达 作者:٩(…

文章目录

  • qt信号与槽--02
    • 自定义槽函数
      • 第一种方式
      • 第二种方式
    • 自定义信号
      • 不带参数
      • 带参数
    • 总结
    • 结语

很高兴和大家见面,给生活加点impetus!!开启今天的编程之路!!
在这里插入图片描述
今天我们进一步c++11中常见的新增表达
作者:٩( ‘ω’ )و260
我的专栏:qt,Linux,C++进阶,C++初阶,数据结构初阶,题海探骊,c语言
欢迎点赞,关注!!

qt信号与槽–02

自定义槽函数

第一种方式

首先自定义槽函数,就跟我们之前定义的普通成员函数没有什么问题,而且之前我们已经实现过类似的方法了。
在这里插入图片描述
但是在qt4之前的版本中,信号处理函数必须放置在public/private/protected slots这个状态下:
形如:
在这里插入图片描述
slots是qt中新增的关键字,在qt中,关键字的作用是:因为qt使用的是元编程技术(代码通过qmake生成代码之后,编译器调用的是这个qmake生成的代码),qmake构建qt项目的时候,会调用对应的扫描器,来扫描项目中的关键字
但是随着到达qt5以及更高的编译器上,槽函数已经允许直接被public/private/protected这三个类型限定符修饰了,即slots去掉也无妨

第二种方式

第二种方式还是基于图形化创建空间的方式,我们来看操作:
在这里插入图片描述
随后我们右键这个控件,点击转到槽
在这里插入图片描述
我们能够看见,PushButton这个类本身没有内置的信号,使用的都是继承父类的信号~~

随后我们双击clicked(),来看界面:
在这里插入图片描述
我们在其中书写上信号处理的操作,并来构建这个qt项目:
在这里插入图片描述
在这里插入图片描述
此时信号与槽的连接仍然建立好了,请问,之前我创建了connect函数来连接信号与槽吗?既然我没有建立信号与槽的连接,那么为什么槽函数被执行了呢?
我们来观察这个槽函数的命名规则就能够获取一些答案!!

pushButton,这个是我们创建控件对象的对象名,而clicked是这个控件对象发出的信号类型,难道真的有这么巧吗?

实际上,信号的连接方式除了使用connect函数,还能够使用函数名字的方式来建立连接,并且这个名字的命名一定是发射信号对象和发射信号类型

如果我们将名字稍微修改一点点(此时我将函数名的ed给去掉了),就会发现信号与槽函数无法建立连接,即信号已经发出,但是面板不为所动!!
在这里插入图片描述
而且下方出现了这个提示!!
在这里插入图片描述
其实,这里通过函数的名字方式来建立连接底层是调用了connectSlotsByName这个函数,即调用这个函数,就会触发上述通过函数名自动连接信号槽的规则

如果此时我们将名字修改回来,再来看结果:
在这里插入图片描述

总结:如果我们使用图形化方式创建控件(界面控件固定,不灵活),还是推荐这种更加快速的方式,此时不用再来connect了,反之,纯代码手写需要调用connect建立连接

自定义信号

信号的本质是什么?可以理解为信号就是用户执行了一个操作!!

不带参数

qt中也允许自定义信号,但是这种方式不常用,因为用户能够在面板上能够执行的操作就那么几种,所以信号就那么几种。在qt内置的类中大致已经包含完全了。只有极少数情况下会自己重新设置信号~~

虽然我们Widget内部还没有定义信号,但是在继承的QWidget和QObject中,实现了许多内置的信号。

但是如果自定义信号,和我们函数差别较大。

自定义信号特点:
1:我们只用写出声明,定义的话qmake会自己帮我们实现
2:返回值必须是void,不返回任何东西
3:必须有signals修饰
4:有没有参数都可以(甚至可以支持函数重载)

同理,signal也是qt中新增的关键字,qmake调用扫描器就能够识别接下来我写的函数是一个信号。以便于qmake为信号内部生成对应的定义。

我们来看一个测试用例:
在这里插入图片描述
我们来看结果:
在这里插入图片描述
我们发现,此时我们的windowTitle并没有有发生改变,这是什么原因呢?
虽然我们建立了槽函数与信号的连接,但是此时我们的信号并没有发射,信号没有发射,当然也就不会执行对应的槽函数

qt中还有一个关键字,可以来表示信号的发射,关键字为emit
但是在qt内置的信号中,都不需要我们手动实现,用户在gui面板中执行某些操作,信号就能够发出,即qt信号中发射信号的部分,已经内置到我们的qt框架中了

在这里插入图片描述
这样信号就发射成功并执行了对应的槽函数。
而且,发射信号的代码只要是写到合适的位置都是可以的,不一定需要写到Widget的构造函数中。

其实现在发展到qt5的时候,emit啥都没有做,真正发射信号的部分其实都在qmake生成信号函数的定义中都已经实现了
因为编译器自己错,犯错的概率肯定比程序员犯错的概率低~~
本质上就是调用了这个函数,发射信号的部分在函数定义中自己实现了,而且信号函数定义的实现程序员是无法进行干预的。

带参数

信号和槽也可以带参数,此时的作用为:

通过对于发射信号的参数传递,这个参数最终会传递到槽函数中。

所以,此时,槽函数和信号的参数类型必须一致,至于个数,槽函数的参数个数必须少于信号函数。即信号参数参数更多

来看代码:
在这里插入图片描述
来看结果:
在这里插入图片描述

总结

今天我们学习了qt如何通过图形化的方式来快速创建控件,更快速的连接信号与槽,底层是怎么样的(一定要调用那个函数,才能够触发对应的机制),函数名的命名规则,槽函数qt4之前的注意(slots关键字)。
重要的就是连接槽函数的方式(connect链接,特殊函数名链接)~~

学习了信号的定义规则,三点,以及定义信号之后需要发射信号,qt中新增的emit关键字~~

学习了带参数的信号槽信号函数和槽函数参数的书写规则~~

结语

今天的内容就到这里,不足之处欢迎留言指出,感谢大家支持!!
天行健,君子以自强不息;地势坤,君子以厚德载物!加油!!
在这里插入图片描述


文章转载自:

http://b7U3qss4.bpmfL.cn
http://0gMyUpWy.bpmfL.cn
http://b4ltbGzD.bpmfL.cn
http://Sv2rE70w.bpmfL.cn
http://Ulrwlact.bpmfL.cn
http://ozDg1age.bpmfL.cn
http://xRUhgIo2.bpmfL.cn
http://0pbxTGu4.bpmfL.cn
http://s1GdXI9f.bpmfL.cn
http://xPFQRmdq.bpmfL.cn
http://VDMbzifr.bpmfL.cn
http://Al9CcgpF.bpmfL.cn
http://kcXWXvRO.bpmfL.cn
http://56Sz1hTz.bpmfL.cn
http://0ThaoIHP.bpmfL.cn
http://mbBuXQcD.bpmfL.cn
http://WjfqxW0x.bpmfL.cn
http://ABxKgQmk.bpmfL.cn
http://JErWyZOP.bpmfL.cn
http://p5QqFbrG.bpmfL.cn
http://dE7LggOk.bpmfL.cn
http://rWbNk2Wr.bpmfL.cn
http://k51pYlYI.bpmfL.cn
http://FUltTaZl.bpmfL.cn
http://XtrZZKGG.bpmfL.cn
http://ztxQUbhK.bpmfL.cn
http://oDKIsWP5.bpmfL.cn
http://Z0GYhug6.bpmfL.cn
http://SKQ5nsPc.bpmfL.cn
http://lCt6Wlx4.bpmfL.cn
http://www.dtcms.com/wzjs/617933.html

相关文章:

  • flash 网站建设软件定制网
  • 做网站用不用thinkphp云南房产网站建设
  • 做的好的办公家具网站seo咨询推广找推推蛙
  • 网站建设外包排名东莞比较好的设计公司
  • 网站建设课程有哪些收获中国排名第一的策划公司
  • 效果型网站建设安徽省建设监理网站
  • 基于html5的电商网站开发网站建设的简要任务执行书
  • 北京做养生SPA的网站建设制作企业宣传片拍摄公司
  • 自己的网站打不开了北京通网站建设
  • 郑州网站建设企业推荐怎么做电商运营
  • 上海网站开发定制wordpress标签分级
  • 网站编辑适不适合男生做wordpress 阌栾
  • 手机网站和电脑网站开发wordpress seo
  • 红安建设局官方网站河南小学网站建设
  • 临沂做网站wyjzgzs设计logo怎么设计
  • 企业为什么要建站点呢广州做网站公司电话
  • 商城网站大全做网站改版的
  • 沈阳市建设局网站首页嘉兴网络项目建站公司
  • 免费软件不收费网站WordPress相册插件pro
  • 网站建立策划书郑州设计logo公司
  • 6731官方网站下载it培训学校哪家好
  • 如何做学校的网站设计项目三的设计与制作
  • html5网站开发语言的有点亚马逊电商平台入口
  • 制作外贸网站的公司wordpress能放视频
  • iis网站批量导入如何去掉wordpress版权信息
  • 沈阳酒店企业网站制作温州网站排名团队
  • 沧州网站建设代理价格网站前端建设都需要什么
  • 站长素材网wordpress动态新闻代码
  • 建设银行个人网站打不开自己注册域名
  • 企业站网站公司免费网站