1、当利用QDir设置当前工作目录是,利用完需要设置回来,要不下次利用当前目录函数时,可能不是你想要的结果。
比如你加载一个视频,需要在该视频目录下创建一个对应的文件,这个时候你先得到了该视频的目录,然后QDir::setCurrent(dir);
这样你下次利用当前目录时,比如svm->load(./file/xx.txt);这个时候就会去那个视频文件下的file文件夹下找xx.txt文件。其实原本
你想在项目目录下的file下找xx.txt。
所以用QDir::setCurrent(dir);设置完工作目录,用完记得设置回来,做法就是QDir::setCurrent(dir);之前先保存当前的目录。
QDir dir; dir.currentPath();可以得到当前目录。
2、QVariant转自定义枚举
没找到自带的方法,之后另想他法了。先转为int然后再转为enum;
QVariant var;
var.setValue(2);//设置var的值
Enum_type myEnum;
myEnum = (Enum_type)(var.toInt());
3、在图片上画线
QPainter painter(img);
painter.setPen(QPen(Qt::red));
painter.drawLine(0,0,1,1);
如果出现
painter device returned engine==0 type 3 painter not active
说明图片中的数据为空。