Qt中事件处理机制叫做“信号”和“槽”signal &slot.

其模型为:

对象a中有一个信号signal:XXX(代表一个事件)

对象b中有一个槽slot:YYY(事件处理函数)

用conect 把他们连接起来:

connect(&a,XXX,&b,YYY)

当a中事件发生时,b中的处理函数就会被调用。

实例:

在ui界面添加点击按钮和一个label,实现当点击按钮时,label显示“helloworld”.

1.新建一个gui工程,在ui中添加控件pushbutton和label,pushbutton为对象a.

2.右键pushbutton,选择go to slot...选项,进入select signal 界面可以查看pushbutton的信号处理函数,这里选择第二个clicked(bool)作为pushbutton的signal。

3.定义一个处理函数,参数类型和signal的参数相同。

在头文件中:

private slots:
int show(bool check);

在cpp文件中:

int MainWindow::show(bool check)
{
cout<<"helloword"<<endl;
}

4.将对象a的signal和b对象的slot给连接起来。

connect(ui.pushButton,SIGNAL(click(bool)),this,SLOT(show(bool)));

这里注意SIGNAL和SLOT要大写,click()和show()中的参数类型要相同,且只写数据类型,不需要变量。

如何测试是否连接成功?

connect函数输出的是bool类型值,如果为true表示连接成功,false表示失败。

通过以上步奏就可以建立信号和槽的连接。

最新文章

  1. php函数fgets读取文件
  2. 使用JPA储存Text类型的时候 出现乱码的问题
  3. TCP/IP详解 笔记十
  4. 如何检查失败的Segment/master
  5. 欧拉工程第68题:Magic 5-gon ring
  6. error C2471: 无法更新程序数据库 vc90.pdb
  7. JQUERY1.9学习笔记 之基本过滤器(七) 语言选择器
  8. laravel5.4+vue+element-ui配置及简单使用
  9. 使用DOM解析XML文件,、读取xml文件、保存xml、增加节点、修改节点属性、删除节点
  10. pycaffe︱caffe中fine-tuning模型三重天(函数详解、框架简述)
  11. JavaScript中对象数组 作业
  12. [Codeforces441E]Valera and Number
  13. CPP全面总结(涵盖C++11标准)
  14. 5.6 C++重载下标操作符
  15. c++ cout、&lt;&lt; 、cin、&gt;&gt; 、endl 详解
  16. 7.7 服务远程暴露 - 订阅与通知(TODO)
  17. 转载|23个Python爬虫开源项目代码:爬取微信、淘宝、豆瓣、知乎、微博等
  18. Codeforces 558C Amr and Chemistry 暴力 - -
  19. bzoj 2818 gcd 线性欧拉函数
  20. [翻译] POP Facebook的动画开源库

热门文章

  1. 异步 I/O 和事件驱动
  2. 数据库--sql语句
  3. step()动画
  4. MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest) request; // 转换成多部分request异常
  5. linux常用目录介绍
  6. 模拟4题解 T3奇袭
  7. Djangog写XXOO管理的要求以及思路
  8. selenium(4):初次尝试,通过百度进行搜索
  9. perfcurve.m
  10. 想要快速完成一个Python项目,离不开这些开源库