首页 > 其他 > 详细

QT5:第八章 信号与槽机制

时间:2019-06-25 11:07:48      阅读:218      评论:0      收藏:0      [点我收藏+]

一.简介

QT编程中信号与槽用于处理界面各个组件的交互,类似与MFC的消息循环和绑定

注意:在使用信号与槽的类中,必须在类的定义中加入宏定义Q_OBJECT

 

 信号(Signal)就是在特定情况下被发射的时间,类似于鼠标单击时发生clicked()信号

 

 槽(Slot)是对信号响应的函数

 

二.ui文件设计信号与槽

在需要设计槽的控件(触发控件)上右键->转到槽

选择相应的信号之后就会跳转到该信号函数

 

//helloDialog.h

class HelloDialog : public QMainWindow {

private slots:
    void on_pushButton_clicked();
}

 

//helloDialog.cpp

void HelloDialog::on_pushButton_clicked() {

    ui->lineEdit->setText("k5");
}

 

三.自定义信号与槽

如果不在.ui文件里面直接绑定,就必须用connect()进行绑定

 

//helloDialog.h

class HelloDialog{
    
public:
    void initSignalSlots();  //初始化信号与槽连接

private:
    void changeData();
}

 

//helloDialog.cpp

void HelloDialog::initSignalSlots() {
    
    connect(ui->pushButton,SIGNAL(cliked()),this,SLOT(changeData));
}

void HelloDialog::changeData(){
    ui->lineEdit->setText("k5");
}

 

四.QT元对象

QT中的元对象(Meta Object System)提供了对象间通信的信号和槽机制 运行时类型信息 和 动态属性系统

 

元对象系统是基于以下3个条件:

(1)基类QObject:任何需要使用元对象系统功能的类必须继承自QObject类

(2)Q_OBJECT宏:必须在类的私有声明区声明Q_OBJECT宏(默认为private)

(3)元对象编译器(Meta-Object Compiler,moc):为QObject子类实现元对象特性提供必要的代码

 

 

五.动态属性

 

QT5:第八章 信号与槽机制

原文:https://www.cnblogs.com/k5bg/p/11081243.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!