- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
voidStudent::setMark(intnewMark){if(newMark!=myMark){myMark=newMark;emitmarkChanged(myMark);}}*Signal和Slot的声明(续)signal的发出一般在事件的处理函数中,利用emit发出signal在下面的例子中在在事件处理结束后发出signal槽(slot)和普通的c++成员函数很像。槽是类的一个成员方法,当信号触发时该方法执行。可以是虚函数(virtual)、可被重载(overload)、可以是公有的(public)、保护的(protective)或者私有的(private)。可以象任何c++成员函数一样被直接调用,可以传递任何类型的参数,可以使用默认参数。槽不同于信号,需要开发者自己去实现。*Signal和Slot的声明(续)槽在各种槽段(section)中定义。槽可以有返回值。任何数量的信号都可以关联到同一个槽。槽以一个普通的函数来实现。槽可以作为普通函数被调用。*什么是槽?publicslots:voidaPublicSlot();protectedslots:voidaProtectedSlot();privateslots:voidaPrivateSlot();connect(src,SIGNAL(sig()),dest,SLOT(slt()));信号在信号段(section)中定义信号总是返回空信号总是不必实现函数体由moc来提供实现信号可以关联到任意数量的槽上通常产生一个直接调用,但可以在线程之间作为事件来传递,甚至可以用在套接字之间(使用第三方类)槽能以任意次序被激发信号使用emit关键字发射出去*什么是信号?signals:voidaSignal();emitaSignal();boolQObject::connect(sender,SIGNAL(valueChanged(int)),receiver,SLOT(display(int)));*Signal和Slot的连接为了能够接受到信号,信号和槽需要使用connect()函数关联起来。connect()函数是QObject类的成员函数,它能够连接signal和slot,也可以用来连接signal和signal函数原形如下:sender和receiver是QObject对象指针。SIGNALE()和SLOT()宏的作用是把他们的参数转换成字符串。连接规则一个信号可以连接到多个槽多个信号可以连接到同一个槽一个信号可以和另一个信号相连连接可以被删除*Signal和Slot的连接(续)connect()函数举例:*Signal和Slot的连接(续) QLabel*label=newQLabel; QScrollBar*scroll=newQScrollBar; QObject::connect(scroll,SIGNAL(valueChanged(int)),label,SLOT(setNum(int)));*Signal和Slot的连接(续)同一个信号连接多个插槽connect(slider,SIGNAL(valueChanged(int)),spinBox,SLOT(setValue(int)));connect(slider,SIGNAL(valueChanged(int)),this,SLOT(updateStatusBarIndicator(int)));多个信号连接到同一个插槽connect(lcd,SIGNAL(overflow()),this,SLOT(handleMathError()));connect(calculator,SIGNAL(divisionByZero()),this,SLOT(handleMathError()));*Signal和Slot的连接(续)一个信号连接到另一个信号connect(lineEdit,SIGNAL(textChanged(constQS
您可能关注的文档
- 形式逻辑教学安排学科特点四多一低教学要求加强操.ppt
- 应用网络设计.ppt
- 幼虫及发生类型.ppt
- 《YY/T 0337-2025麻醉和呼吸设备 气管插管和接头》.pdf
- 中国行业标准 YY/T 0337-2025麻醉和呼吸设备 气管插管和接头.pdf
- YY/T 0337-2025麻醉和呼吸设备 气管插管和接头.pdf
- 湖南省长沙市第一中学2025-2026学年高三上学期月考(四)(11月)语文试题+答案.docx
- 2025-2026学年上海嘉定一中高一上学期数学期中试卷及答案(2025.11).pdf
- 江苏省常州市2025-2026学年高三上学期11月期中考试地理试题(含答案).docx
- 浙江省A9协作体2025-2026学年高一上学期11月期中英语试题含解析.docx
最近下载
- 幼儿游戏与指导:角色游戏.docx VIP
- 词的发展简史.ppt VIP
- (高清版)DB62∕T 4690-2023 超高性能混凝土(UHPC)应用技术规范.pdf VIP
- (7页PPT)日日清消泡泡课件1.pptx VIP
- 麻将Ai设计思路(go语言实现).pdf VIP
- 生猪肉品品质检验人员考试选择题练习题及答案.docx VIP
- DB37T 4874—2025超高性能混凝土应用技术规范.pdf VIP
- 2024年江苏省无锡市普通高中数学高三上期末学业水平测试模拟试题含解析.doc VIP
- 2026年日历 12个月单独成页 横向排版 周一开始 带周数 法定节假日调休安排 .docx VIP
- 人教版初一数学七年级上册 一元一次方程解决火车过桥问题 名师获奖PPT教学课件.pptx VIP
原创力文档


文档评论(0)