• 3716阅读
  • 1回复

用QPainter和QScrollArea显示大图片 [复制链接]

上一主题 下一主题
离线icyrat
 

只看楼主 倒序阅读 楼主  发表于: 2011-12-22
大家好,我在开发板上用QImage 得到一幅图片1024x768,想要1:1显示,我可以这样
  painteEvent里面
  QPainter painter(this);
    painter.drawImage( 0, 0, img );
   但是我只能看到一个左上角的图像,我现在应该用一个QScrollArea来控制显示,但我不明白具体如何做, 是不是 应该构造一个类,这个类应该从QWidget 或者 QAbstractScrollArea 派生,然后重写paintEvent???
离线lmh5584258

只看该作者 1楼 发表于: 2012-02-01
QPainter 的绘图驱动如果是视口(viewport()),视口是多大图像就只能显示多大,这时候QScrollArea的滚动条没有作用的。可以改为QPainter painter(QPixmap *pixmap),用QGraghicsView来显示
快速回复
限100 字节
 
上一个 下一个