欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Qt信号槽传递参数的使用记录

程序员文章站 2024-01-04 12:44:52
...

Qt信号槽传递参数的使用记录

信号槽传递参数大致分为两种:
(1)信号函数参数个数与槽函数参数个数相同
举例:
.h文件中:

signal:
void m_signal1(int a);
private slots:
void m_slot1(int a);

.cpp文件中
信号与槽连接:

connect(this, SIGNAL(m_ignal1(int)), this, SLOT(m_slot1(int)));  

void MainWindow::m_slot1(int a)
{
	qDebug() << a;
}

信号触发:

void MainWindow::on_pushButton_clicked()
{
	emit m_signal1(3);
}

触发信号按钮按下后,会在程序输出口打印3。

(2)信号函数参数个数与槽函数参数个数不同
信号的参数与槽函数的参数数量不同时,只能是信号的参数数量多于槽函数的参数数量,且前面相同数量的参数类型应相同,信号中多余的参数则会被忽略。
举例:
.h文件中:

signal:
void m_signal2(int a, float b, int c);
private slots:
void m_slot2(int a, float b,);

.cpp文件中
信号与槽连接:

connect(this, SIGNAL(m_ignal2(int,float,int)), this, SLOT(m_slot2(int,float)));  

void MainWindow::m_slot2(int a, float b)
{
	qDebug() << a << b;
}

信号触发:

void MainWindow::on_pushButton_clicked()
{
	emit m_signal2(3,3.8);
}

触发信号按钮按下后,会在程序输出口打印3和3.8。

相关标签: Qt

上一篇:

下一篇: