Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/144.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.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++ 如何为动态创建的对象将信号附加到插槽_C++_Qt_Signals Slots - Fatal编程技术网

C++ 如何为动态创建的对象将信号附加到插槽

C++ 如何为动态创建的对象将信号附加到插槽,c++,qt,signals-slots,C++,Qt,Signals Slots,我当前有多个复选框,这些复选框是动态创建的,如何向它们分配信号。这些复选框附加到QStandardItemModel。我需要知道他们什么时候被点击。这就是我创建checkboxex的方式 QStandardItem* chk_all = new QStandardItem(); chk_all->setCheckable(true); chk_all->setCheckState(Qt::Unchecked); 要将信号附加到插槽,您需要对象发送方的地址。由于该对象在设计时不存在于

我当前有多个复选框,这些复选框是动态创建的,如何向它们分配信号。这些复选框附加到
QStandardItemModel
。我需要知道他们什么时候被点击。这就是我创建checkboxex的方式

QStandardItem* chk_all = new QStandardItem();
chk_all->setCheckable(true);
chk_all->setCheckState(Qt::Unchecked);
要将信号附加到插槽,您需要对象发送方的地址。由于该对象在设计时不存在于ui中,因此如何获取其地址。这样我就可以完成connect语句了

QObject::connect("what goes here" ,SIGNAL(clicked()), this, SLOT(CheckClicked())); //Tester

这些复选框不是小部件或单独的对象,
QStandardItem
类不是从
QObject
派生的,您不能将它们分别连接到插槽

由于它们的状态存储在模型中,选中或取消选中它们将使模型发出信号
dataChanged(QModelIndex,QModelIndex)
itemChanged(QStandardItem*)


但这些信号也会因复选框状态以外的更改而发出。您可能还必须在模型中存储复选框previous state(使用
QStandardItem::setData
/
data
和a),以便能够将其与新状态进行比较并检测更改。

您实际上没有分配信号。将信号连接到插槽。您是否已经阅读了Qt关于和的文档?让我重新表述一下我的问题刚刚更新了我的问题-希望这能澄清问题,而不是
chk_all
指向您要连接其信号的对象的指针(即持有地址)?