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

注册网站会员需要填写信息做网站泊头

注册网站会员需要填写信息,做网站泊头,宜春代做网站,wordpress 投票功能在使用Qt 5中的新信号和槽连接语法(使用成员函数指针)时,我遇到了一些问题。根据新的信号槽语法的描述,我尝试将以下代码: QObject::connect(spinBox, SIGNAL(valueChanged(int)),slider, SLOT(setValue(int)));改为&…

在使用Qt 5中的新信号和槽连接语法(使用成员函数指针)时,我遇到了一些问题。根据新的信号槽语法的描述,我尝试将以下代码:

QObject::connect(spinBox, SIGNAL(valueChanged(int)),slider, SLOT(setValue(int)));

改为:

QObject::connect(spinBox, &QSpinBox::valueChanged,slider, &QSlider::setValue);

但在编译时出现错误:

error: no matching function for call to QObject::connect(QSpinBox*&,<unresolved overloaded function type>, QSlider*&, void(QAbstractSlider::*)(int))

我在Linux上使用clang和gcc编译,且都使用了-std=c++11选项。

问题分析

错误消息指出:"unresolved overloaded function type"。编译器无法确定你是指QSpinBox::valueChanged(int)还是QSpinBox::valueChanged(QString),因为这两个信号名称是重载的。

解决方法

使用qOverload (Qt 5.7及更高版本)

从Qt 5.7开始,提供了一些辅助函数来简化选择特定重载的方法,可以这样写:

connect(spinBox, qOverload<int>(&QSpinBox::valueChanged),slider, &QSlider::setValue);

早期版本的解决方案

对于Qt 5.6及更早版本,你需要通过类型转换明确指定要使用的重载信号:

connect(spinBox, static_cast<void (QSpinBox::*)(int)>(&QSpinBox::valueChanged),slider, &QSlider::setValue);

虽然这种方法看起来不美观,但这是解决问题的唯一办法。因此,最好避免信号和槽的重载。

使用宏定义简化代码

你可以定义一个宏来简化类型转换:

#define CONNECTCAST(OBJECT, TYPE, FUNC) static_cast<void(OBJECT::*)(TYPE)>(&OBJECT::FUNC)

之后,使用这个宏来连接信号和槽:

QObject::connect(spinBox, CONNECTCAST(QSpinBox, int, valueChanged),slider, &QSlider::setValue);

使用lambda表达式

另一种方法是使用lambda表达式将槽包装起来:

connect(spinBox, static_cast<void (QSpinBox::*)(int)>(&QSpinBox::valueChanged),[slider](int value) { slider->setValue(value); });

这样可以避免显式的类型转换,使代码更简洁。

总结

在Qt 5中,当处理重载信号和槽时,有多种方法可以选择正确的重载。根据你的Qt版本,可以使用辅助函数qOverload、类型转换、宏定义或者lambda表达式来解决这个问题。无论哪种方法,都能确保在编译时进行类型检查,从而提高代码的可靠性。

http://www.yayakq.cn/news/982396/

相关文章:

  • 潍坊公司网站制作做程序的网站
  • 承接设计网站建设开发区教育网
  • 莘庄网站建设新手建立企业网站流程
  • 用几个域名做网站好宁波网站建设制作价格
  • 可拖拽 网站建设做淘宝联盟必须要有网站吗
  • 河源市住房城乡和建设局网站如何自建网站卖产品
  • 网站备案要注意什么毕业生就业网站开发项目
  • 东莞 网站 建设 汽车国外视频设计网站
  • 晋江网站建设费用注册公司流程2021
  • 电影网站建设报价网站建设 599
  • 卓智网络科技有限公司广州百度seo代理
  • 有哪些可以做外链的网站常州 网站 推广
  • 备案网站公共查询系统深圳定制网站制作
  • 招聘网站开发方案doc网站建设费用说明
  • 如何提高网站优化深圳建设局和住建局
  • 自己建立网站服务器重庆市建设医院网站
  • 自建网站怎么做后台管理系统wordpress弹出式侧边栏
  • 网站空间使用方法浏阳市商务局网站溪江农贸市场建设
  • vs做asp网站流程学校网站建设运行简介
  • 如何做网站新手搜狐做app的网站
  • 东莞免费建网站企业静态网页制作总结
  • 买奢侈品去哪个网站有正品上海美容论坛网站建设
  • 百度双站和响应式网站的区别平面设计网格
  • 同城购物网站建设网站策划编辑的职责
  • 软件工程师岗位职责seo怎么给网站做外链
  • 实战网站开发wordpress seo插件教程
  • 建设银行贷款网站如何自己做的网站
  • 哪里专业做网站苏州美丽乡村建设网站
  • 商城类型的网站怎么做营销背景包括哪些内容
  • 网站开发与兼容模式小程序ui界面设计