Eticos_CZ 2023-03-09 11:47 采纳率: 75%
浏览 29
已结题

Qt信号槽传递参数问题

现有程序如下:
窗口A中,放置了一个子窗口B,子窗口B中也放置了一个孙窗口C。
要通过信号槽传递C中的某些数据给A处理:
目前写的代码,可以正常将C的信号发给A:

//窗口C类的实例化对象c的发送信号
connect(btnAdd, &QPushButton::clicked, [=] { emit sig_addCode(); });

//窗口A类的接收信号(b为子窗口B的实例化对象,c为孙窗口C的实例化对象)
connect(b->c, &C::sig_addCode, this, &A::on_addCode);

A实例化对象a接收到信号后,可以正常执行到on_addCode()函数内容。
请问如何在此基础上修改,可以从c传递一些参数到a来?

  • 写回答

2条回答 默认 最新

  • 从此不归路 2023-03-09 13:15
    关注

    可以在发出信号时添加参数,然后在接收信号的槽函数中获取这些参数。

    connect(btnAdd, &QPushButton::clicked, [=] {
        int someData = 42; // 替换成要传递的参数
        emit sig_addCode(someData);
    });
    
    void A::on_addCode(int someData) {
        // 在此处使用传递的数据someData
    }
    
    
    connect(b->c, &C::sig_addCode, this, &A::on_addCode);
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 3月17日
  • 已采纳回答 3月9日
  • 修改了问题 3月9日
  • 创建了问题 3月9日

悬赏问题

  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥15 请问Lammps做复合材料拉伸模拟,应力应变曲线问题
  • ¥30 python代码,帮调试
  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元