QT 识别含参槽函数的两种方式(欢迎补充)

// 方式一:(含参槽函数记得自行在.h进行声明)
connect(自己的控件名, 控件对应的触发方式, this, [=]() {
	sltFunction();
	});
connect(m_QAction1, &QAction::triggered, this, [=]() {
	sltFunction(1);
	});
connect(m_QAction2, &QAction::triggered, this, [=]() {
	sltFunction(0);
	});


void DataEditorView::sltFunction()
{
	QMessageBox::warning(0, "", "i is null");
}

void DataEditorView::sltFunction(int i)
{
	if (i == 1)
	{
		QMessageBox::warning(0, "", "i is 1");
	}

	if (i == 0)
	{
		QMessageBox::warning(0, "", "i is 0");
	}
}
// 方式二:
// .h中先声明自定义的槽函数与含参信号
public slots:
	void sltListen(QString str,float fValue);
signals:
	/*
		第一个参数:列范围
		第二个参数:目标值
	*/
	void sigSay(QString, float);

// .cpp中发送信号、绑定信号
void 类名::function()
{
    // 发送信号
	emit sigSay("HELLO WORLD",100.f);
}

// 实现槽函数
void 类名::sltSayHello(QString str,float fValue)
{
    QMessageBox::warning(0,QString("%1").arg(fValue),str);
}


// 绑定信号
connect(你自己的控件名, SIGNAL(sigSay(QString, float))
    ,this, SLOT(sltListen(QString, float)));

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值