• 4685阅读
  • 2回复

如何在QScrollView上画图形 [复制链接]

上一主题 下一主题
离线akwhole
 
只看楼主 正序阅读 楼主  发表于: 2010-03-18
我想把输出图形画到QScrollView对象上.因为 图形比较大,一个屏幕放不下,所以想借助滚动条,滚动查看图形.
我不知道这个过程该怎么完成? 我自己定义了一个对象,继承自QScrollView,给它添加了一个QWidget的child,我把输出画到了QWidget上,但是拖动滚动条的时候,图形就被刷新掉了.
求大侠帮帮忙?我刚看这方面的东西.

class myscrollview  :public QScrollView
{
    。。。。。。。
};

myscrollview::painEvent(QPaintEvent *)
{
    .。。。。。。。
   paintGraph();//画图
}

myscrollview * mv=new  myscrollview();

QWidget *mw=new QWidget(mv->viewport());
mw->resize(100000,100000);

mv->addChild(mw);
mv->show();
mv->update();

我没有用drawContents() 和 resizeContents().
[ 此帖被akwhole在2010-03-18 00:46重新编辑 ]
离线benbenmajia

只看该作者 2楼 发表于: 2010-03-18
欣赏楼主解决问题后公布解决方法的做法
安然.....
离线akwhole
只看该作者 1楼 发表于: 2010-03-18
我已经采用drawContents和resizeContents解决.
drawContents:画出一个大的矩形区域,并在此矩形区域中作图.
reszieContents:设置图形或文字 占用区域的最大长宽

resizeContents设置小于屏幕长宽时,scrollview不会出现滚动条.
快速回复
限100 字节
 
上一个 下一个