• 24444阅读
  • 42回复

[提问]如何在QLabel上显示一块画布呢? [复制链接]

上一主题 下一主题
离线jdwx

只看该作者 40楼 发表于: 2011-09-09
回 39楼(liangzw) 的帖子
简单方法:用一个QWidget固定大小,放到QScrollArea里,根据需要drawline,在指定点drawtext。
复杂方法:用QWidget,加QScrollBar自己构造一个控件,很复杂但是能提高效率。
要不然图很大,图上图形很多的时候刷新要很长时间,让人受不了,根本就不能用。
Qt画图和显示界面,比MFC慢不少,如果你用过MFC会觉得这也太慢了。而且QPainter也不是什么时间都可用,



发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线liangzw
只看该作者 41楼 发表于: 2011-09-09
回 40楼(jdwx) 的帖子
我是用了你说的那种简单的方法,用一个QImage,然后在image上先画一个大的矩形,然后在用一个循环在矩形里面画线和在指定点drawtext,也是放着QScrollArea里,但是这样那个QScrollArea移动到中间的时候就看不到坐标值了,相当于在一个小窗口上看一副大的图画,现在需要的效果是QScrollArea移动到任何位置,在左边和下面都有坐标的显示,而且随着QScrollArea移动而显示对应的值。。。
请问用复杂的方法大概的思路是怎样呢?
离线jdwx

只看该作者 42楼 发表于: 2011-09-09
回 41楼(liangzw) 的帖子
自己处理滚动事件,缩放,相当费劲,什么都要自己处理。
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
快速回复
限100 字节
 
上一个 下一个