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

企业营销型网站概念做网站都需要准备什么

企业营销型网站概念,做网站都需要准备什么,建筑装饰网站模板,建设手机网站的公司QT是图形化界面,自然是需要与用户进行交互的,但是该如何实现用户与界面或者程序的交互呢。答案是通过信号和槽。 一,什么是信号和槽? 在Linux操作系统里面,我们知道信号是由硬件或者软件产生,但是在QT里面…

QT是图形化界面,自然是需要与用户进行交互的,但是该如何实现用户与界面或者程序的交互呢。答案是通过信号和槽。

一,什么是信号和槽?

在Linux操作系统里面,我们知道信号是由硬件或者软件产生,但是在QT里面信号是用户与控件进行操作产生的。而且Linux里面的信号是类似于变量每一个信号都有自己的整数编号,而QT里面的信号是函数。槽是什么呢?槽也是一个函数,类似于回调函数,但是实际上是有区别的,我们在后面说。接下来我们看看信号和槽吧。

首先老规矩创建一个控件按钮。

点击这个按钮会产生一个信号:clicked

右键转入槽

确认clicked就会自动给我们创建这个信号的槽函数,包括widget头文件和cpp文件

这个命名是有讲究的,on是固定的,pushButton是控件名字,clicked是信号的名称(我们也可以不讲究,但是需要我们自己手动绑定connect,后面聊)

在这里面我们就可以进行设置点击按钮后发生的事情了,例如关闭窗口,我们这里选择改变窗口名字

按钮在widget类里面,this是窗口指针

点击前:

点击后

,上面就是我们手动创建信号和槽的过程,下面我们学习使用函数绑定槽函数

二,相关接口函数

1,connect

首先我们打开QT文档查看这个函数

sender:表示是谁发送的信号

signal:表示发送的是什么信号

receiver:表示谁来处理这个信号

method:表示怎么处理这个信号(槽函数)

type:用于指定关联方式,一般不需要手动指定,可以用来指定阻塞或者异步,或者像普通函数那样,确保槽函数和信号没有重复连接

2,connect的使用

首先我们在widget.hpp文件里面定义一个按钮指针和槽函数

在QT古老版本槽函数前面需要加上slots,我使用的是QT5,这个没有严格要求

在widget.cpp文件里面按钮初始化绑定对象树

实现槽函数,头文件里面只是声明了槽函数,里面函数名称就是函数功能,text得到按钮里面的文本内容,settext就是设置文本内容

初始状态:

点击按钮一下:

再次点击按钮:

3,如何查看控件具备的信号

可能有人问我们怎么知道这个按钮有哪些信号呢?我直接查看这个按钮的文档并没有看到这个信号啊。如果我们在当前类里面没有看到信号,我们可以看看它继承的类里面的信号,我们以QpushButton举例子

我们直接搜索QpushButton,我们发现把文档看完也没找到信号

这时候我们发现它是继承子QAbstractButton这个类,我们不妨点进去看看

这时候我们就找到了这个信号的位置和官方文档

4,自定义信号

我们上面使用的槽函数是自定义的,那么支持自定义信号吗?答案是支持的

首先在widget.hpp文件里面定义信号,前面必须加signals,代表这是信号

释放信号使用emit

我这里举一个例子给我大家看看

点击按钮前:

点击按钮释放自定义信号后:

5,信号和槽补充

信号和槽是可以带参数的,但是信号的参数必须大于等于槽函数的信号,这也很好理解,如果槽函数的参数比信号的参数多,或者参数不匹配,信号怎么调用槽函数呢?接下来我们看看自定义信号及使用

点击按钮后效果:

QT里面的信号和槽与回调函数有所不同,回调函数是通过函数指针实现调用的,而QT信号与槽是通过一个映射表实现调用的,这个映射表就实现了信号与槽的解耦合,一个信号可以绑定多个槽函数,一个槽函数也可以被多个信号绑定,参数传递规则与之前相同,按照信号参数进行传递,大家可以看看下面的代码。

效果:

信号与槽进行解耦合多对多,优点是信号与槽的使用更加灵活了,但是缺点是牺牲了效率,普通回调函数在编译时就可以确定,但信号与槽需要运行时才能确定和进行类型检查,而且一个信号可能有多个槽函数,需要查询映射表。

6,信号与槽的断开(disconnect)

disconnect用于将信号与槽的绑定断开,使用的方法与connect相同,话不多说,大家直接看代码

效果:

从输出来看,我们已经无法看到myHandle3的打印效果,意味这这个槽函数已经成功解绑了。

注使用自定义信号和槽,Q_OBJECT这行代码宏不能落下,不然信号和槽可能无法连接导致不能运行。

关于QT信号与槽的博客就到此,大家如果有所收获的话就点赞收藏,see you!


文章转载自:

http://IgG50nuu.qkdbz.cn
http://ivvpkped.qkdbz.cn
http://hePzFftB.qkdbz.cn
http://4lPLAlod.qkdbz.cn
http://GWwQ77vD.qkdbz.cn
http://Ki61rwn6.qkdbz.cn
http://dhbjuRw6.qkdbz.cn
http://F87v7ZcU.qkdbz.cn
http://CjWae872.qkdbz.cn
http://QrX0o5ID.qkdbz.cn
http://8tOVbEmH.qkdbz.cn
http://zX4c4XvH.qkdbz.cn
http://Ndg2IplM.qkdbz.cn
http://afEerTnl.qkdbz.cn
http://Fyu5byMK.qkdbz.cn
http://oP6l8fd3.qkdbz.cn
http://Q0dHatpl.qkdbz.cn
http://5ndcTY9j.qkdbz.cn
http://NhXruDz5.qkdbz.cn
http://1JFHABg2.qkdbz.cn
http://dbvYlWB2.qkdbz.cn
http://4PpvFSRM.qkdbz.cn
http://nMmVsiPe.qkdbz.cn
http://G4oYd6BK.qkdbz.cn
http://QaV2RaJW.qkdbz.cn
http://r3tXl27q.qkdbz.cn
http://nvLsL5oq.qkdbz.cn
http://f2ZnaM6X.qkdbz.cn
http://MpPOoVTw.qkdbz.cn
http://R2oTtUga.qkdbz.cn
http://www.dtcms.com/wzjs/610083.html

相关文章:

  • 网站建设技术外文wordpress谷歌seo
  • 卖文章的网站源码高明网站设计公司
  • 网站制作流程 优帮云德清网站公司建设
  • 做网站报价明细表短视频关键词优化
  • 杭州网站建设哪家比较好h5网页制作素材
  • 网站建设费用 会计分录菏泽公司网站建设
  • 做网站 没内容开发公司名字起名大全
  • 天猫淘宝优惠券网站怎么做做落地页的网站
  • 以色列网站后缀网页设计个人实训报告
  • 建网站多少牡丹江商城网站开发设计
  • 网站建设策划怎么谈wordpress文章分段
  • 网站的侧边栏怎么做手机网站实例
  • 湘西网站建设吧这个网址你会感谢我的
  • 怎么创建自己的网站平台徐州网站建设大前端
  • 网站建设运营协议书wordpress 虚拟浏览量
  • 网站项目运营方案北京宏福建设工程有限公司网站
  • 做网站应聘平台搬家网站建设公司
  • 设计网站的公司wordpress离线更新
  • 专业做家具的网站有哪些wordpress移动友好度大揭秘
  • wordpress网站界面设计吉林省吉林市邮编
  • 太仓网站优化互联网营销平台
  • 免费头像生成制作网站外包网站设计哪家好
  • 天津电力建设公司招标网站怎么做自己网站里的资讯
  • 沧州免费网站建设wordpress产品页面模板
  • 国内企业建站模板网站设计稿
  • 湛江网站的建设塔式服务器主机建网站
  • 东莞seo网站制作报价建设seo网站
  • 建设网站的经验互动营销案例都有哪些
  • 中国版动漫网站模板wordpress分类模版设置插件
  • 怎么自己做网站服务器网站开发用php还pyt h on