• 6520阅读
  • 6回复

有关QPainter的问题,望各位牛人回答 [复制链接]

上一主题 下一主题
离线zhaonash
 

只看楼主 倒序阅读 楼主  发表于: 2006-07-06
我用Qt中的pixmapLabel显示了一幅图片,现在想在这幅图片上画几条直线,使用QPainter?
怎么做?
[ 此贴被XChinux在2006-07-06 08:51重新编辑 ]
爱因斯坦说: 每个人都可以是99%的勤奋+1%的天赋,但1%的天赋是最关键的。我只信前半句!
离线shiroki

只看该作者 1楼 发表于: 2006-07-06
把label重载一下, 重写paintEvent, 里头调基类的paintEvent, 然后再用painter去drawline
--
shiro is White
ki is tree
http://www.cuteqt.com
论坛 http://www.cuteqt.com/bbs
博客 http://www.cuteqt.com/blog
博客镜像: http://sites.cuteqt.com/cuteqt
Linux/Qt/嵌入式讨论群 http://qun.qq.com/air/5699823
离线zhaonash

只看该作者 2楼 发表于: 2006-07-07
还是不太明白, 怎样重写paintEvent, 并在里头调基类的paintEvent?
能不能示范一下,给个例子或是过程之类的,先谢谢了
爱因斯坦说: 每个人都可以是99%的勤奋+1%的天赋,但1%的天赋是最关键的。我只信前半句!
离线zhaonash

只看该作者 3楼 发表于: 2006-07-07
还是不太明白,能不能说清除一点,能不能示范一下,怎样重写paintEvent,并调用里头调基类的paintEvent? 给个例子或是大概过程吧,先谢谢了!
爱因斯坦说: 每个人都可以是99%的勤奋+1%的天赋,但1%的天赋是最关键的。我只信前半句!
离线hau19820906
只看该作者 4楼 发表于: 2006-07-20
看qt的类说明中的qpainter,里面有例子,用drawline画线,是先定义两个点的坐标,然后就能画线了
离线shiroki

只看该作者 5楼 发表于: 2006-07-20
从qlabel派生一个类-- 这个应该会吧?
在这个类里声明一个函数, 和qwidget的paintEvent一模一样 -- 这个应该也没问题吧?

在paintEvent的实现里调用 QLabel::paintEvent(xxx);
然后用painter画线
--
shiro is White
ki is tree
http://www.cuteqt.com
论坛 http://www.cuteqt.com/bbs
博客 http://www.cuteqt.com/blog
博客镜像: http://sites.cuteqt.com/cuteqt
Linux/Qt/嵌入式讨论群 http://qun.qq.com/air/5699823
离线igoo
只看该作者 6楼 发表于: 2006-07-21
记得qpainter好像只能用在paintevent函数中(除了qstyle)

不能像windows程序那样,到处使用getdc()
不过先在qpixmap上进行操作,然后贴上去也一样,我看qt3提供了bitblt函数对图像进行
双缓冲操作,但是qt4中把该函数删除了,因此qpixmap的贴图操作估计是经过优化的
快速回复
限100 字节
 
上一个 下一个