Qt的一些使用心得 (2)

Qt当中的信号与槽

信号(signal)与槽(slot)是qt的一大特色,由元对象系统(meta object
system)提供,用于对象间的通信,类似的还有借助于函数指针的回调机制,理论上,信号与槽比回调的反应速度要慢,但前者用起来更灵活。

  1. 信号与槽的原理:
  1. 当一个特定事件发生时,QT的对象发出一个信号(signal)。
  2. 槽(slot)就是一个C++函数,被定义来对特定信号进行功能响应。
  1. 如何使用集成开发环境自动生成槽函数框架
  	(1) 操作自动生成槽函数
  		右键点击控件-->转到槽--->选择信号->自动在类的声明和.cpp源码中生成槽函数
   		private slots: //slots表示槽函数,  当你右键点击控件,选择转到槽函数
               void on_pushButton_3_clicked();
	(2) 自动生成的槽函数命名规则
             on_组件对象的名字_信号的名字()
  1. 如何敲代码去关联信号与槽函数
   (1) 原因:  有些情况下,ui界面不是用ui设计师设计,被迫只能自己写代码
   (2) 使用connect函数去关联信号和槽函数
bool QDBusConnection::connect(const QString &service, const QString &path, const QString 
&interface, const QString &name, const QString &signature, QObject *receiver, const char *slot)

  翻译:  connect(信号的发送者,SIGNAL(发送什么信号),信号的接收者,SLOT(槽函数));

例子:

    //创建一个按钮对象
    //QPushButton retbt("退出",this); //栈空间
    QPushButton *retbt=new QPushButton("退出",this); //堆空间
    retbt->setGeometry(200,100,100,30);
    retbt->show();
    //关联退出按钮的信号和当前窗口的槽函数
    connect(retbt,SIGNAL(clicked(bool)),this,SLOT(retfun()));

消息盒子

 1. 消息盒子
           有多种不同类型的消息盒子: (QT自带的标准的消息盒子) 
                     警告:  warning()
                     提示信息: information()
                     帮助信息: question()
                     错误:  critical()
   自定义消息盒子

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值