在QLabel上设置Pixmap作为对QComboBox上currentIndexChanged事件的响应导致程序崩溃

时间:2014-09-06 16:12:29

标签: qt opencv

所以我想在我的ComboBox上更改项目时在我的标签上设置一个新图像。这里的插槽功能:

void MainWindow::comboBox1Changed(int index)
{
    ui->cameraImage->setPixmap(QPixmap::fromImage(maskPicture));
}

maskPicture是使用此函数从Mat格式(OpenCV)转换的图像:

maskPicture = QImage((uchar*) img.data, img.cols, img.rows, img.step, QImage::Format_RGB888);

问题是程序崩溃,但它并不总是崩溃。有时它会正确地改变图像。还有另一个函数更新图片的方式与计时器事件发生时运行的方式相同但总是正常工作。问题只出在comboBox上。我可以在comboBox中更改项目几次以更改图片但最终程序崩溃

1 个答案:

答案 0 :(得分:0)

我做了一些改动,现在有点工作了。变量maskPicture现在是Mat类型而不是QImage,我在插槽函数中进行转换。仍然不知道为什么它之前崩溃但至少它现在有效。