QPixmap打开图片不能完全显示

超开心~ 2013-04-02 08:50:29
我用QPixmap中的load(filename)函数打开一个图片,结果图片分辨率太大,只能显示部分出来,有没有滑动条,我想加一个滑动条在pixmap上该怎么加?
我看了下QScrollArea这个类,里面只有setWidget()这个接口,请问该如何在pixmap上添加滑动条呢?
谢谢!!!
...全文
722 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
haltwang 2013-04-05
  • 打赏
  • 举报
回复
之前用QGraphicsItem QGraphicsScene视图模式可以显示很大的图片,而且只要不设置sceneRect就会自动生成滚动条。 在QGraphicsItem里重写Paint 、boundingRect即可。
Inhibitory 2013-04-05
  • 打赏
  • 举报
回复
1. QImage::load(imagePath) 2. QImage::scaled到需要的大小 3. QPixmap::fromImage把QImage转化为QPixmap 4. 在屏幕上显示QPixmap
乔巴好萌 2013-04-04
  • 打赏
  • 举报
回复
用QPixmap显示超大图片肯定不合适啊 毕竟这个不是专业的图片解码器 建议使用CImage这样的专业库去解码成RGB数据
超开心~ 2013-04-04
  • 打赏
  • 举报
回复
引用 1 楼 jdwx1 的回复:
QLabel *label = new QLabel(this); label->setPixmap("xxxxx"); QScrollArea *sa = new QScrollArea(this); sa->setWidget(label); sa->setWidgetResizable(false); 大概就这个意思,图片显示在label上,把label放……
用Label加滑动条我会,那pixmap可以放到Label里面吗?
jdwx 2013-04-02
  • 打赏
  • 举报
回复
QLabel *label = new QLabel(this); label->setPixmap("xxxxx"); QScrollArea *sa = new QScrollArea(this); sa->setWidget(label); sa->setWidgetResizable(false); 大概就这个意思,图片显示在label上,把label放进QScrollArea里。
引用 楼主 chengchaooppo 的回复:
我用QPixmap中的load(filename)函数打开一个图片,结果图片分辨率太大,只能显示部分出来,有没有滑动条,我想加一个滑动条在pixmap上该怎么加? 我看了下QScrollArea这个类,里面只有setWidget()这个接口,请问该如何在pixmap上添加滑动条呢? 谢谢!!! QPi……

16,240

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧