qt信号和槽常用函数及绘图.pptVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Qt信号和槽、常用函数及绘图;学习目标;学习目标;问题的提出 例子的窗体中,点击“hide”或“show”按钮,为何窗口能做出相应的响应? 问题的分析 显示功能对应对象的show()函数,隐藏功能对应对应对象的hide()函数 点击按钮后执行该函数即可 问题的解决 使用“信号和槽”机制完成该任务的过程:按下按钮?clicked()信号产生?槽函数hide()被调用?窗体隐藏 ;信号 一个特定的标识,当内部发生某些事件或状态改变时能够被“发射” 槽 槽和普通的C++类的成员函数几乎是一样的 唯一不同的是:槽可以??信号连接在一起,当发射这个信号的时候,就会自动调用这个槽 作用 对象之间通信的高级接口 事件出现时,通过发送信号将与之关联的槽函数激活,即执行槽函数代码 ;信号和槽(简介);程序总结: 信号和槽的连接基本实现语句: QObject::connect(a,SIGNAL(a_signal(int)), b,SLOT(b_slot(int))) Connect是静态成员函数,需要加QObject:: 如果是QObject子类来调用则不用 连接的两个对象需要在连接前已经存在,否则会报错 a_signal和b_slot中只能有参数类型,而非具体的值 ;一个信号可以连接多个槽 Task 再创建一个label,点击hide按钮或show按钮按钮时两个label能同时显示或隐藏 多个信号可以连接一个槽 Task 在最初程序基础上再创建一个按钮,点两个按钮中任意一个都可以隐藏label 一个信号可以与另外一个信号相连接 Task 连接两个按钮的clicked信号;要把信号成功连接到槽或另一个信号,它们的参数必须具有相同的顺序和类型 注:参数匹配的检查使用strcmp函数,所以类型必须严格一致。如string和const string就不匹配 例外:信号参数比槽多,多余参数被忽略 如果类型不匹配,或信号和槽不存在,编译时不会报错,运行时会有警告;练习1: 使用滑块控制LCD上的数字发生变化 练习2: 使用按钮控制动画的暂停和播放 ;在designer中创建一个按钮,一个标签 选择“编辑/信号和槽” 拖动连接按钮和标签,弹出信号和槽选择对话框,观察有哪些信号和槽 窗体/预览,查看效果;问题的提出 之前是使用Qt类中已定义的信号和槽,如果是自己定义实现的类,如何加入信号和槽机制,实现自己想要的功能? 问题的分析 声明自定义的信号,直接使用,无需实现 声明自定义的槽,跟类成员函数一样实现 问题的解决 声明时分别加入slots和signals关键字即可 使用信号时: emit my_order(angle);类的声明开始处加入Q_OBJECT宏,标准C++不支持,Qt通过moc(Meta Object Compiler)工具自动将其转为C++代码 槽函数和普通C++类成员函数一样实现,但是当做真正的槽使用的时候访问权限的定义没有任何效果 信号只需声明无需实现,定义的访问权限没有意义 必须把类定义从实现文件中分离出来并放到头文件中。; ; ;程序总结: 自定义的类一般可以从QWidget类继承 信号和槽都是类的成员函数 自定义槽加关键字slots 自定义信号加关键字signals 使用自定义信号: emit my_signal(参数列表);练习1: 用两个按钮分别控制动画的暂停和继续播放 练习2: 创建一个按钮和LCD,每次点击按钮,LCD上的数字值加1 练习3: 做一个简单的猜数字游戏。内部规则等独立为一个类,该类的构造函数中随机产生目标值,有槽函数接收用户猜测的数字,发信号表明猜测的结果 ;学习目标;QWidget类: setEnabled(bool) 控件使能 setDisabled(bool) 输入使能 width() 窗口宽度 height() 窗口高度 close() 关闭 show() 显示 hide() 隐藏 QFont类: QFont font(Helvetica,12,QFont::Bold) setFont(font) 字体设置方式;QLCDNumber类: setNumDigits() 位数设置 display() 内容显示 QTimer类: start() 启动定时 timeout() 到时信号 QString类: toInt() 字符串转整数 toAScii() 16位字符串转8位 number() 字符串转数字 fromAscii() 8位字符串转16位 ;学习目标;Qt事件处理的意义 作为GUI界面,需要做很多和用户交互的事情。事件(event)

文档评论(0)

kfcel5889 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档