Romi-知行合一

轻轻的风轻轻的梦,轻轻的晨晨昏昏, 淡淡的云淡淡的泪,淡淡的年年岁岁。
  博客园  :: 首页  :: 新随笔  :: 订阅 订阅  :: 管理

随笔分类 -  Qt

摘要:QT对txt文本进行读写一般是采用QFile和QTextStream结合使用,在此不细说,主要说一下读取txt文本的注意事项。因为txt文本中有中文也有英文还有数字,要准确获得需要的字串可就要多一个心眼了。因为在使用QString对文本读取时,使用的是Unicode编码,这时,一个汉字占2个字节,一个字母占一个字节,一个数字占一个字节。以以下代码作为示例:QString str("我的csdn博客");str.size(); //返回值8str.left(3); //返回值 “我的c”str.mid(2,3); //返回值 “csd”从以上可以看出,QString中的成员函 阅读全文

posted @ 2013-09-18 20:08 romi 阅读(3670) 评论(1) 推荐(0) 编辑

摘要:遥感图像处理时少不了ENVI,用过ENVI的人都知道,打开图像时或图像处理完后,在缩略图上移动鼠标时,鼠标周围的图像信息会在大的视图中实时的显示,即大图会跟着小图中的鼠标移动,这即是图像的连动效果。如下图是ENVI的示意图:在软件设计中,要实现类似ENVI中连动的效果,确实要费一番脑筋。要求:有两幅图,一个是缩略图,一个是原图或处理后的图,使用两个对话框,鼠标在小的缩略图中移动或点击时,大图中的图像实时显示出鼠标所在位置的图像。结果展示:首先给出结果展示,这样读者也好明白实现这样的功能入手点和重点在那些地方。从上图中可以看出:1.大图在移动时其实只需要控制滑动杆的位置即可,控制滑动杆的位置即设 阅读全文

posted @ 2013-09-17 23:07 romi 阅读(2955) 评论(0) 推荐(1) 编辑

摘要:在VS2008中写qt程序时调试出现此问题,但在release模式下就不存在,在网上搜罗了一圈,是指针的问题。问题是这样的:需要打开两个文件,文件中数据类型是float,我使用QVector进行保存QVector data;首先初始化:data.insert(0,NULL);//第一个文件数据data.insert(1,NULL);//第二个文件数据打开第一个文件时,判断data[0]中有误数据,有的话删掉:if(data[0]){ delete [](data[0]); data.replace(0,NULL);}打开第二个文件时采取同样的处理方法。我在第一次打开第一个文件时,是没问题的.. 阅读全文

posted @ 2013-09-17 22:55 romi 阅读(3531) 评论(0) 推荐(0) 编辑

摘要:Qt中QImage类封装了对于一般图像像素级的操作,图像显示则使用QPixmap。本文说说对一般图像(常见格式,图像不大)的处理,比如将彩色图像处理为灰度图像。首先要获得源图像数据,对源图像数据进行处理,将结果保存并显示。QImage *img;//原图像QImage *grayImg;//处理后灰度图像1.获得原图像数据采用此方法即可,unsigned char *data=img->bits();//获取图像像素字节数据的首地址这里要注意,采用bits()方法的到的数据data中像素的组织形式应为ARGB,但实际调试中发现,每个像素中从字节从低到高依次是BGRA,方向刚好反过来。在处 阅读全文

posted @ 2012-12-03 17:36 romi 阅读(36646) 评论(9) 推荐(0) 编辑

摘要:调用setWindowFlags方法,函数参数设置如下:Qt::WindowMinimizeButtonHint|Qt::WindowMaximizeButtonHint|Qt::WindowCloseButtonHint 阅读全文

posted @ 2012-11-23 16:55 romi 阅读(5850) 评论(0) 推荐(0) 编辑

摘要:在QGraphicsView框架中实现图像拖拽,固然可以使用滑动条拖动,但是如果可以使用鼠标在图像上面进行拖动,岂不是更方便,但遥感处理软件都有这种功能嘛。要实现拖拽,首先就要获得鼠标事件,通常是按下鼠标左键,然后拖动图像,鼠标释放时拖动结束。核心的问题就是如何实现图像的移动。这里有两个思考的出发点:一个就是根据图像项在场景中的坐标;另一个就是通过改变滑动条的值。前者没有研究清楚,未实现,采用后者实现了,后者实现也简单。因为GraphicsView自身带有滑动条,所以可以设置滑动条的值来移动图像。本文使用改变滑动条的值实现,要点有两个:一是重写QGraphicsView类中的鼠标事件,二是捕捉 阅读全文

posted @ 2012-11-22 15:28 romi 阅读(2509) 评论(5) 推荐(0) 编辑

摘要:要实现图像的ROI显示,即选择图像中的某一区域,显示该区域的原图像。其核心的问题归纳有如下三个:①.得到缩略图像②.实现鼠标事件,获取鼠标的坐标③.将坐标转换为原图像中的坐标,从而就找到了需要的原图像数据区,将它读出来1,缩略图显示出原图缩略图的关键是找到缩小倍数,缩小倍数根据显示控件和原图像的大小决定。假设显示区的宽和高相同原则:原图像宽>高时,缩略图的宽为显示区的宽,缩略图的高通过计算得出(小于显示区的宽);反之,源图像宽<高时,则缩略图的高为显示区的高,缩略图的宽通过计算得出(小于显示区的宽)通过缩略图的大小就可以得出缩小倍数然后通过缩小倍数读出缩略图所需数据,以下是Rast 阅读全文

posted @ 2012-11-21 23:31 romi 阅读(6104) 评论(0) 推荐(0) 编辑

摘要:工具:Visual Studio2008,Qt4.8 VS插件,GDAL库功能:将大图像首先缩小显示,在缩小的图像中选择一块矩形区域(即ROI,感兴趣区域)显示,现实的图像可以实现缩放,鼠标拖拽,如同google map。缩略图使用QLabel,显示大图区域使用QGraphicsView 框架,因为QGraphicsView框架功能丰富,很适合用于图形图像的显示操作。步骤已使用方法如下:1.图像缩放,根据需要缩小的倍数,使用GDAL库的读取图像数据接口RasterIO读取采样的数据,显示在缩略图区2.ROI选择,实现鼠标事件(点击、释放)的获取,得到鼠标点在图像中的坐标,然后根据缩小的倍数得到 阅读全文

posted @ 2012-11-21 22:39 romi 阅读(2153) 评论(0) 推荐(0) 编辑

摘要:Qt QTreeWidget控件的树形结构的实现及其使用 阅读全文

posted @ 2012-08-08 14:05 romi 阅读(63390) 评论(0) 推荐(6) 编辑

摘要:Qt串口通信程序的设计 阅读全文

posted @ 2012-08-01 19:50 romi 阅读(953) 评论(0) 推荐(0) 编辑

摘要:QT样式表设置的学习 阅读全文

posted @ 2012-08-01 19:38 romi 阅读(15733) 评论(0) 推荐(0) 编辑

摘要:QT 调用Windows API实现关机 阅读全文

posted @ 2012-05-24 19:52 romi 阅读(11268) 评论(1) 推荐(0) 编辑

摘要:VS2008中QT程序无Release版本文件夹,配置没问题,但CUDA程序就是出错的解决方案 阅读全文

posted @ 2012-05-22 22:34 romi 阅读(2205) 评论(1) 推荐(0) 编辑

摘要:Qt 打开指定网站,打开系统文件夹 阅读全文

posted @ 2012-05-03 11:56 romi 阅读(3741) 评论(0) 推荐(0) 编辑

摘要:Qt 在Qt程序中调用外部exe 阅读全文

posted @ 2012-05-03 11:50 romi 阅读(27452) 评论(4) 推荐(2) 编辑

摘要:Qt 程序中中文编码问题,让Windows和linux下的程序运行起来支持中文 阅读全文

posted @ 2012-04-27 20:40 romi 阅读(3226) 评论(0) 推荐(0) 编辑

摘要:Qt QTreeWidget 树形结构实现 双击树节点的事件响应 阅读全文

posted @ 2012-04-16 21:45 romi 阅读(77724) 评论(0) 推荐(6) 编辑

摘要:Qt 对话框的使用 模态对话框 非模态对话框 阅读全文

posted @ 2012-04-16 20:53 romi 阅读(20207) 评论(0) 推荐(0) 编辑

摘要:Qt QProcessDialog(进度对话框)使用 阅读全文

posted @ 2012-04-16 19:56 romi 阅读(7861) 评论(0) 推荐(0) 编辑

摘要:Qt QPainter绘图原理 绘制的时间问题 阅读全文

posted @ 2012-04-06 22:29 romi 阅读(41928) 评论(0) 推荐(1) 编辑