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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.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
Qt 在MDI区域子窗口中迭代_Qt_Qdialog_Qmdiarea - Fatal编程技术网

Qt 在MDI区域子窗口中迭代

Qt 在MDI区域子窗口中迭代,qt,qdialog,qmdiarea,Qt,Qdialog,Qmdiarea,我有一个好地方。每次打开图像时,我都会将子窗口添加到此区域。我为每个子窗口设置的小部件是imageFileDialog,它继承自QDialog。在这个对话框中,我有一个旋转框。我希望能够在创建MDI区域中的每个对话框后,为它们设置该微调框的值。我不知道如何反复浏览对话框。我试着想办法做到这一点 for (int j=0; j < ui->mdiArea->subWindowList().size(); j++) { imageFileDialog *ifd = ui-&

我有一个好地方。每次打开图像时,我都会将子窗口添加到此区域。我为每个子窗口设置的小部件是imageFileDialog,它继承自QDialog。在这个对话框中,我有一个旋转框。我希望能够在创建MDI区域中的每个对话框后,为它们设置该微调框的值。我不知道如何反复浏览对话框。我试着想办法做到这一点

for (int j=0; j < ui->mdiArea->subWindowList().size(); j++)
{
    imageFileDialog *ifd = ui->mdiArea->subWindowList()[j]->widget();
    ifd->setSpinBox(0);
}
但这与我以前尝试建立的任何联系都不一样。一切正常,但发出的信号没有到达我的插槽。我希望有人尝试过这个,并有一些建议!提前感谢。

对于第一个问题和第二个问题,您只需要将插槽名称传递给slot()宏(不带ifd->),或者将ifd指针作为单独的参数传递给连接,例如:

QObject::connect(this, SIGNAL(emitImageFileValue(double)), idf, SLOT(setSpinBox(double)));
对于第一个问题和第二个问题,您只需要将插槽名称传递给slot()宏(不带ifd->),或者将ifd指针作为单独的参数传递给connect,例如:

QObject::connect(this, SIGNAL(emitImageFileValue(double)), idf, SLOT(setSpinBox(double)));

非常感谢。对我来说,这是一个很容易的改变,而且效果很好。我最终改变了连接,并决定不再遍历子窗口。谢谢!对我来说,这是一个很容易的改变,而且效果很好。我最终改变了连接,决定不再遍历子窗口。