qt中需要注意的一些问题

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

说明图片中的数据为空。

 

 

posted on 2014-02-11 10:40  jesse_deng  阅读(366)  评论(0编辑  收藏  举报

导航