实现想要的功能是一回事,调试过程中想到新的功能,遇到新的exception,等等,我都把它们放在这里总结一下吧
1. 如果 图像显示块在没有添加图像时默认显示一些文字,应该可读性更强吧,所以textitem可以实现默认文字的显示
QGraphicsTextItem* background_image=new QGraphicsTextItem;
background_image->setPlainText("Original Image Space");
originalScene->addItem(background_image);
ui->originalView->show();2. 最开始编程的时候其实就应该考虑之后的移植问题,但我经验不足,最开始的程序中读写文件的位置都指定在了电脑的其他位置,换个电脑就找不到读写位置了,所以
dir_base=QDir::currentPath();
dir_imagedatabase=dir_base+"\\inpainting\\image_database\\";
dir_maskdatabase=dir_base+"\\inpainting\\mask_database\\";
dir_result=dir_base+"\\inpainting\\result\\";QDir::currentPath()可以获得当前exe文件所在的地址,以此为基准存放读文件,和确定写文件的位置
3. 文件的命名是另一个没有实现考虑的问题,我按照默认的文件命名格式,数出文件名本身的位置,截取string的对应位数的方法获取单纯文件名;但是如果程序打开了不符合命名规律的文件,则出现错误,所以
file=QFileInfo(filename);