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

网站建设及 维护合同什么是软件开发工程师

网站建设及 维护合同,什么是软件开发工程师,昆明市住房和城乡建设局官方网站,学校网站建设方面汇报信号槽中的函数重载 QT4的方式QT5的方式函数指针重载函数QT5信号函数重载解决方案 总结 QT4的方式 Qt4中声明槽函数必须要使用 slots 关键字, 不能省略。 信号函数#xff1a; 槽函数#xff1a; mainwondow: cpp文件#xff1a; #include mainwindow.h… 信号槽中的函数重载 QT4的方式QT5的方式函数指针重载函数QT5信号函数重载解决方案 总结 QT4的方式 Qt4中声明槽函数必须要使用 slots 关键字, 不能省略。 信号函数 槽函数 mainwondow: cpp文件 #include mainwindow.h #include ui_mainwindow.h #include QDebugMainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow) {ui-setupUi(this);tom new me(this);teacher new myteacher(this);//connect(ui-pushButtonqt4,QPushButton::clicked,this,MainWindow::sendMsg);//qt4的连接方式connect(ui-pushButtonqt4,SIGNAL(clicked()),this,SLOT(sendMsg()) );connect(tom,SIGNAL(sendMsg()),teacher,SLOT(receiveMsg()));connect(tom,SIGNAL(sendMsg(QString )),teacher,SLOT(receiveMsg(QString )));//qt5的连接方式}MainWindow::~MainWindow() {delete ui; }void MainWindow::sendMsg() {qDebug()调用一次;//tom-sendMsg();QString s hello;tom-sendMsg(s); } 调用有参的信号函数 调用无参的信号函数 QT5的方式 函数指针重载函数 QT5信号函数重载 信号函数和槽函数和之前QT4中是一样的。 信号函数 槽函数 关联方式 报错如下E:\Code\Qt\mySignalAndSlot3\mainwindow.cpp:20: error: no matching function for call to MainWindow::connect(me*, unresolved overloaded function type, myteacher*, unresolved overloaded function type) connect(tom,me::sendMsg,teacher,myteacher::receiveMsg); ^ 信号和槽都是通过函数名去关联函数的地址, 但是这个同名函数对应两块不同的地址, 一个带参, 一个不带参, 因此编译器就不知道去关联哪块地址了, 所以如果我们在这种时候通过以上方式进行信号槽连接, 编译器就会报错。 解决方案 可以通过定义函数指针的方式指定出函数的具体参数这样就可以确定函数的具体地址了。 定义函数指针指向重载的某个信号或者槽函数在connect函数中将函数指针名字作为实参就可以了。 #include mainwindow.h #include ui_mainwindow.h #include QDebugMainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow) {ui-setupUi(this);tom new me(this);teacher new myteacher(this);//connect(ui-pushButtonqt4,QPushButton::clicked,this,MainWindow::sendMsg);//qt4的连接方式 // connect(ui-pushButtonqt4,SIGNAL(clicked()),this,SLOT(sendMsg()) ); // connect(tom,SIGNAL(sendMsg()),teacher,SLOT(receiveMsg())); // connect(tom,SIGNAL(sendMsg(QString )),teacher,SLOT(receiveMsg(QString )));//qt5的连接方式//函数指针void (me::*sendMsg1)() ;void (me::*sendMsg2)(QString s);void (myteacher::*receiveMsg1)();void (myteacher::*receiveMsg2)(QString s);sendMsg1 me::sendMsg;sendMsg2 me::sendMsg;receiveMsg1 myteacher::receiveMsg;receiveMsg2 myteacher::receiveMsg;connect(ui-pushButtonqt4,QPushButton::clicked,this,MainWindow::sendMsg);//connect(tom,me::sendMsg,teacher,myteacher::receiveMsg);//connect(tom,me::sendMsg,teacher,myteacher::receiveMsg);connect(tom,sendMsg1,teacher,receiveMsg1);connect(tom,sendMsg2,teacher,receiveMsg2);}MainWindow::~MainWindow() {delete ui; }void MainWindow::sendMsg() {qDebug()调用一次;tom-sendMsg();QString s hello;tom-sendMsg(s); } 总结 Qt4的信号槽连接方式因为使用了宏函数, 宏函数对用户传递的信号槽不会做错误检测, 容易出bugQt5的信号槽连接方式, 传递的是信号槽函数的地址, 编译器会做错误检测, 减少了bug的产生当信号槽函数被重载之后, Qt4的信号槽连接方式不受影响当信号槽函数被重载之后, Qt5中需要给被重载的信号或者槽定义函数指针
http://www.zqtcl.cn/news/898424/

相关文章:

  • 公司做网站买域名之后做什么打鱼网站开发
  • 南京市城乡建设局网站二级建造师证件查询
  • 百度关键词优化系统网站优化师招聘
  • 网站方案建设书推广产品的软文怎么写
  • 网站栏目按扭邢台手机网站建设地方
  • 青浦赵巷网站建设做网站需要编程吗
  • 公司logo设计含义株洲seo
  • 公司制作网站做论坛网站怎么赚钱吗
  • 深圳 外贸 网站建设 龙医院网站建设价格
  • 网上建网站驰易网站建设
  • 建设工程招标专业网站网站联盟广告
  • 自建站英文公司网站制作银川
  • 顺德网站建设公司信息全网推广软件
  • 网站全屏视频怎么做电子商务网站规划的原则是什么
  • 网站建设行业发展史做网站主页上主要放哪些内容
  • 成都成华网站建设小程序开发网上商城
  • 企业网站建设的重要性和必要性深圳设计网站排行
  • 山西省网站建设河南省考生服务平台官网
  • 做水产的都用什么网站wordpress 前端登陆
  • 商务网站建设网站开发一个软件开发的流程
  • 网站建设电脑和手机有区别吗公众号登录微信入口
  • 天津市建设监理协会网站三亚网络网站建设
  • 义乌进货网平台北京网优化seo优化公司
  • 在网站上放广告网站建设流程效果
  • 腾讯云学生机做网站济南网站改版
  • 开封市做网站的公司wordpress无法映射
  • 网站构建工具wordpress 主题授权
  • 大型网站开发 赚钱宁夏网站建设优化
  • 通过ip访问网站需要怎么做博客的网站页面设计
  • 高明做网站软件开发工程师是前端还是后端