QT使用scrollarea显示图片,完美解决方案
来源:互联网 发布:arcgis js 双击事件 编辑:程序博客网 时间:2024/04/30 00:51
需求:
在界面上点击“显示图片”按钮,会调用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 下scrollArea 显示图像的问题
- qt中使用scrollarea控件显示滚动条随窗口自适应变化
- 使用Qt显示openCV矩阵图片
- 使用Qt显示openCV矩阵图片
- div并排显示完美解决方案
- Qt鼠标拖动ScrollArea代替鼠标滚轮操作
- QT中使用opencv加载图片使用label显示
- QT显示图片
- Qt:显示、保存图片
- QT显示图片
- QT 显示图片
- QT显示图片
- qt tga图片显示
- QT图片显示
- QT显示图片
- qt显示图片
- QT显示图片
- 常用的时间同步服务器地址
- scrum经验
- 关于StringBuffer中的实参与形参问题
- ERROR 2006 (HY000) at line xx: MySQL server has gone away 解决方法
- ZOJ 2760 - How Many Shortest Path(最短路的个数) Floyd+最大流
- QT使用scrollarea显示图片,完美解决方案
- CSS 鼠标响应事件,鼠标经过CSS,鼠标移动CSS,鼠标点击CSS
- 举个例子解释下什么是线程不安全?
- zend framework
- ARM汇编语言
- 转载:数据库逻辑设计原则
- 博客已升级,请注意变更地址
- 逢3退1的Java算法(双向回环链表算法)
- PHP 时间格式化输出