当前位置: 首页 > news >正文

网站建设推广语言鄂尔多斯建设局网站

网站建设推广语言,鄂尔多斯建设局网站,专业刷粉网站,招聘 人才招聘connect(信号发送者,发送的信号,信号接收者,信号的处理); 信号函数和槽函数的参数必须是一样的,但信号的参数可以多余槽函数的参数(前面的参数类型必须一致) 是控件和控件间的信号传递,这两个…
connect(信号发送者,发送的信号,信号接收者,信号的处理);

信号函数和槽函数的参数必须是一样的,但信号的参数可以多余槽函数的参数(前面的参数类型必须一致)

是控件和控件间的信号传递,这两个之间没有关联,松散耦合

两个连接意义相同,用父类的(发送的信号,或信号的处理(要地址))或自己类名都可以
//自定义类MyButton 继承QPushButton
MyButton *but=new MyButton;
but->setText("hhh");
but->setParent(this);
connect(but,&MyButton::clicked,this,&MainWindow::close);
connect(but,&QPushButton::clicked,this,&QMainWindow::close);

自定义信号和槽

自定义信号://不用在.cpp里实现faSingnals();

.h
class fasong : public QObject
{Q_OBJECT
public:explicit fasong(QObject *parent = nullptr);signals:
//自定义信号//没有返回值的只需要声明不需要实现,可以有参数可以重载//信号函数void faSingnals();void faSingnals(QString string);
};

自定义槽:

.h
class jieshou : public QObject
{Q_OBJECT
public:explicit jieshou(QObject *parent = nullptr);signals:public slots://槽函数//返回void 需要声明和实现,可以有参数可以重载//槽函数void shouSlots();void shouSlots(QString string);
};

//需要在.cpp里实现shouSlots()函数;

#include "jieshou.h"
#include <QtDebug>
jieshou::jieshou(QObject *parent) : QObject(parent)
{}
void jieshou::shouSlots()
{qDebug()<<"你好";
}
void jieshou::shouSlots(QString string)
{//先toUtf8()转成ByteArray在.data()转成char*()//输出的字符串不带引号qDebug()<<string.toUtf8().data();
}

可以理解为这里的主函数:调用信号和槽

.h
#include"fasong.h"
#include"jieshou.h"
#include <QMainWindow>QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACEclass MainWindow : public QMainWindow
{Q_OBJECTpublic:MainWindow(QWidget *parent = nullptr);~MainWindow();private:Ui::MainWindow *ui;///触发信号void chuFa();///信号对象fasong *fa;///槽对象jieshou *shou;
};
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QPushButton>
#include "MyButton.h"
MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow)
{ui->setupUi(this);//发送者对象this->fa=new fasong(this);//接收者对象this->shou=new jieshou(this);//连接信号与槽//connect(fa,&fasong::faSingnals,shou,&jieshou::shouSlots);//信号与槽有重载时的连接方法//函数指针指向函数地址void(fasong:: *faSongDiZhi)(QString)=&fasong::faSingnals;void(jieshou:: *jieshouDiZhi)(QString)=&jieshou::shouSlots;//连接信号与槽(有参)connect(fa,faSongDiZhi,shou,jieshouDiZhi);//实现点击按钮触发 触发信号QPushButton *button=new QPushButton;button->setParent(this);button->setText("Button1");//绑定按钮点击触发触发信号connect(button,&QPushButton::clicked,this,&MainWindow::chuFa);void(fasong:: *faSongDiZhi1)(void)=&fasong::faSingnals;void(jieshou:: *jieshouDiZhi1)(void)=&jieshou::shouSlots;//信号连接信号connect(button,&QPushButton::clicked,fa,faSongDiZhi1);//发送和接收连接(无参)信号和槽连接connect(fa,faSongDiZhi1,shou,jieshouDiZhi1);//断开信号,怎么连接就怎么断开disconnect(button,&QPushButton::clicked,fa,faSongDiZhi1);chuFa();}///触发信号
void MainWindow::chuFa()
{//emit触发关键字,faSingnals为信号函数//emit fa->faSingnals();emit fa->faSingnals("哈哈哈");
}MainWindow::~MainWindow()
{delete ui;
}

输出:

//有参
connect(fa,SIGNAL(faSingnals(QString)),shou,SLOT(shouSlots(QString)));
//无参
connect(fa,SIGNAL(faSingnals()),shou,SLOT(shouSlots()));

不建议使用

http://www.dtcms.com/a/509558.html

相关文章:

  • 手机网站制作步骤我为什么不建议年轻人做运营
  • 宜春招聘网站开发区招工徐州市城乡建设局官方网站
  • 通配符对称冲突检测工具
  • Linux小课堂: 数据处理核心命令之grep、sort、wc、uniq 与 cut 的深度解析
  • 深圳建筑设计平台网站wordpress wp posts
  • 北京住房和城乡建设官方网站色彩搭配比较好的网站
  • 找到网站后台地址如何做自己网站
  • 有没有人做网站大学做html个人网站素材
  • 嘉兴五县两区网站建设局机关网站建设
  • 江苏省交通建设厅门户网站wordpress如何修改首页文件模板
  • 如何建立一个网站详细步骤通辽住房和城乡建设厅网站
  • 网站设计需要多少钱小程序开发教程 下载
  • 公司无网站无平台怎么做外贸2021最火关键词
  • 手机网站的静态页面官网站站
  • 蒙古网站后缀国内知名设计工作室
  • 单页网站怎么制作昆明企业网站建设公司
  • 建设银行兰州分行网站百度小程序开发平台
  • 朝阳网站建设 慈云寺厦门易尔通网站建设好吗
  • 网站 备案 哪个省建设培训中心网站
  • 成都大型网站建设公司iis网站属性在哪
  • 中国站长查询域名备案西安有哪些做网站的公司好
  • 东莞定制网站建设jsp网站部署怎么做
  • 百度推广太原网站建设阿里云服务器添加网站
  • 2016网站优化今天深圳新增确诊最新消息
  • 驾校官方网站 模板wordpress手动装插件
  • 怎样直接输入网址打开网站ps做网站标签
  • 甘肃肃第八建设集团网站1wordpress关联adsense
  • 长沙做网站开发多少钱服务行业做网站
  • 大学生免费ppt网站长沙网站制作工作室
  • 西宁吧 百度贴吧网站优化反馈机制 seo