对于窗体上的QWidget控件,由于不是new出来的,就很麻烦,可能崩溃。
为了解决这个问题,需要在这个QWidget控件上new出来一个新的QWidget* 变量。
QWidget *widget=NULL;
QHalconWindow *Disp=NULL;
widget=new QWidget(ui->widget2);//必须这样搞,不能直接在ui->widget2上,而是在ui->widget2上new一个QWidget
widget->setGeometry(0,0,ui->widget2->width(),ui->widget2->height());
Disp = new QHalconWindow(widget);
Disp->setMinimumSize(ui->widget2->width(),ui->widget2->height());//没这句话不行
widget->show();//这句话必须在setMinimumSize之后
HalconCpp::HImage Image;
HalconCpp::ReadImage(&Image,"1.bmp");
Hlong ImageWidth, ImageHeight;
Image.GetImageSize(&ImageWidth, &ImageHeight);
Disp->GetHalconBuffer()->SetPart(0, 0, ImageHeight - 1, ImageWidth - 1);
Disp->GetHalconBuffer()->SetLineWidth(3);
Disp->GetHalconBuffer()->DispObj(Image);
Disp->GetHalconBuffer()->FlushBuffer();