Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 为什么连接';s信号有参数,但插槽没有';你没有吗?_C++_Qt_Signals_Signals Slots_Slots - Fatal编程技术网

C++ 为什么连接';s信号有参数,但插槽没有';你没有吗?

C++ 为什么连接';s信号有参数,但插槽没有';你没有吗?,c++,qt,signals,signals-slots,slots,C++,Qt,Signals,Signals Slots,Slots,Qt 4.8.1,原始代码如下: connect(this->m_CodeMemoryComboBox, SIGNAL(currentIndexChanged(QString)), this, SLOT(updateCodeMemoryFormate())); 这真的让我困惑,[问题]在使用QObject::connect时,我可以将参数传递给slot函数吗? 这告诉我参数应该是匹配的,但是这里发生的事情是,如果我删除该参数,代码将出错。描述了这一点。在“信号和插槽”标题下搜

Qt 4.8.1,原始代码如下:

connect(this->m_CodeMemoryComboBox, SIGNAL(currentIndexChanged(QString)),
      this, SLOT(updateCodeMemoryFormate()));
这真的让我困惑,[问题]在使用QObject::connect时,我可以将参数传递给slot函数吗? 这告诉我参数应该是匹配的,但是这里发生的事情是,如果我删除该参数,代码将出错。

描述了这一点。在“信号和插槽”标题下搜索“(实际上插槽的签名可能比它接收到的信号短,因为它可以忽略额外的参数)。”

基本上,如果
M描述了这一点,您可以将
N
参数信号连接到
M
参数插槽。在“信号和插槽”标题下搜索“(实际上插槽的签名可能比它接收到的信号短,因为它可以忽略额外的参数)。”

基本上,如果
M表示

信号和插槽机制是类型安全的:信号的签名必须与接收插槽的签名匹配。(事实上,插槽的签名可能比它接收到的信号短,因为它可以忽略额外的参数。)


信号和插槽机制是类型安全的:信号的签名必须与接收插槽的签名匹配。(事实上,插槽的签名可能比它接收到的信号短,因为它可以忽略额外的参数。)

@benhuan,如果你有
信号(a,b,c,d)
插槽(a,b)
参数
c
d
。@benhuan,如果你有
信号(a,b,c,d)
插槽(a,b)
参数
c
d
将被忽略。