qt应用程序开发1.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应用程序开发1,qt应用程序开发教程,qt,qt应用程序,qt应用程序下载,qt应用程序开发东软,qtcreator快速入门,qt高级编程,应用程序开发教程,qt/e

第一节 Qt程序设计基础 Qt简介 Qt的特征 Qt的优势 Qt的开发维护方式 Qt的安装与开发环境的配置 Qt的程序结构和示例 Qt的三个主要基类 Qt中signal(信号)与slot(槽)机制 Qt中signal(信号)与slot(槽)机制 #include QApplication #includeQPushButton int main(int argc, char *argv[]) { QApplication a(argc, argv); QPushButton *button = new QPushButton(Quit); QObject::connect(button,SIGNAL(clicked()),a,SLOT(quit())); button-show(); return a.exec(); } 当对象状态发生改变的时候,发出signal通知所有的slot接收signal。 signal和slot机制真正实现了封装的概念,slot除了接收signal之外,和其它的成员函数没有什么不同,而且signal和slot之间也不是一一对应的。 在Qt程序设计中,凡是包含signal和slot的类中都要加上Q_OBJECT的定义。 Qt中signal(信号)与slot(槽)机制 类中定义signal和slot: class Student : public QObject { Q_OBJECT public: Student() { myMark = 0; } int mark() const { return myMark; } public slots: void setMark(int newMark); signals: void markChanged(int newMark); private: int myMark; }; signal的发出一般在事件的处理函数中,利用emit发出signal,在下面的例子中在事件处理结束后发出signal。 void Student::setMark(int newMark) { if (newMark!= myMark) { myMark = newMark; emit markChanged(myMark); } } Qt中signal(信号)与slot(槽)机制 在signal和slot声明以后,需要使用connect()函数将它们连接起来。connect()函数属于QObject类的成员函数,它能够连接signal和slot,也可以用来连接signal和signal 函数原形如下: bool connect ( const?QObject?*?sender, const?char?*?signal, const QObject * receiver, const char * slot) 其中第一个和第三个参数分别指出signal和slot是属于那个对象或组件 Qt中signal(信号)与slot(槽)机制 在使用connect()函数进行连接的时候,还需要用到SIGNAL()和SLOT()这两个宏,使用方法如下: QLabel *label = new QLabel; QScrollBar *scroll = new QScrollBar; QObject::connect( scroll,SIGNAL(valueChanged(int)), label, SLOT(setNum(int)) ); Qt中signal(信号)与slot(槽)机制 Qt中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,

文档评论(0)

ajgoaw + 关注
文档贡献者

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

1亿VIP精品文档

相关文档