QT使用scrollarea显示图片,完美解决方案
2013-09-04 11:46
766 查看
需求:
在界面上点击“显示图片”按钮,会调用scrollarea窗口显示图片,窗口大小能根据图片大小自动调整,但是最大为1024*768,图片过大就要有滚动条来显示
IDE环境:
QT Creator ,linux ,ubuntu12.04
代码:
mainwindow中点击“显示图片”调用scrollarea窗口,下面的函数是被一个按钮的槽函数调用的
添加文件scrollarea.ui文件,画出一个scrollarea
在生成的scrollarea.h中添加私有成员QLabel
在析构函数中添加内存释放
在生成的scrollarea.cpp中添加图片显示实现函数
实现拉!!
在界面上点击“显示图片”按钮,会调用scrollarea窗口显示图片,窗口大小能根据图片大小自动调整,但是最大为1024*768,图片过大就要有滚动条来显示
IDE环境:
QT Creator ,linux ,ubuntu12.04
代码:
mainwindow中点击“显示图片”调用scrollarea窗口,下面的函数是被一个按钮的槽函数调用的
void MainWindow::Show_Image_byname(char *filename) { if(!filename || !strlen(filename)) { return; } char buf[128]= {0}; strcpy(buf,SAVE_IMAGE); strcat(buf,filename); ScrollArea *new_image = new ScrollArea(); new_image->set_image(buf); new_image->setBackgroundRole(QPalette::Dark); new_image->show(); return; }
添加文件scrollarea.ui文件,画出一个scrollarea
在生成的scrollarea.h中添加私有成员QLabel
private: Ui::ScrollArea *ui; QLabel * label;
在析构函数中添加内存释放
ScrollArea::~ScrollArea() { delete ui; if(label) { delete label; } }
在生成的scrollarea.cpp中添加图片显示实现函数
void ScrollArea::set_image(char *filename) { QImage *ppm = new QImage(filename); label = new QLabel(); printf("ppm->width()=%d, ppm->height()=%d\n",ppm->width(), ppm->height()); //获取图片的宽度和高度 label->setPixmap(QPixmap::fromImage(*ppm)); this->setWidget(label); /*设置窗口最大高度和宽度为1024*768*/ this->setMaximumHeight(768); this->setMaximumWidth(1024); this->resize(QSize( ppm->width()+5, ppm->height() +5)); return; }
实现拉!!
相关文章推荐
- QT使用scrollarea显示图片,完美解决方案
- 使用Qt将一系列图片通过网络发送到客户端动态显示的参考代码(修改一下可以用作远程网络监控)。
- 一个 Qt 显示图片的控件(继承QWidget,使用QPixmap记录图像,最后在paintEvent进行绘制,可缩放)
- 使用Qt将一系列图片通过网络发送到客户端动态显示的参考代码(修改一下可以用作远程网络监控)
- 使用 javascript 函数 完美控制页面图片显示大小(第二版) By shawl.qiu
- Qt读取本地图片使用halcon读取并显示
- word使用技巧---插入图片显示不全的解决方案
- Qt使用Label控件显示图片的三种方法
- 在UWP中使用RichEditBox只读时图片显示问题(最后有关于RichEditBox颜色问题的解决方案)
- <Linux+Qt>在Widget中使用qlabel显示图片与动画
- 矩阵图片使用Qt显示openCV矩阵图片
- Vitamio使用时,VideoView自动向上弹导致VideoView显示不全问题的完美解决方案
- Qt 使用QRencode生成二维码图片并显示
- 转换排列Qt中使用OpenCV显示图片时,Mat结构转换为QImage结构的问题
- qt中使用scrollarea控件显示滚动条随窗口自适应变化
- vs2003自带的报表使用load("rpt.rpt")方式,显示不出报表工具的图片解决方案
- 使用QT实现一个图像处理软件1 —— 图片的加载和显示
- Qt中使用OpenCV显示图片时,Mat结构转换为QImage结构的问题
- 使用Qt显示openCV矩阵图片
- QT GUI界面的使用 opencv选择并显示图片于label中