文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>多快好省写程序

多快好省写程序

时间:2010-05-05  来源:haiyong_wu

  最近在用qt4写程序的时候,遇到一个问题,就是选择QGraphicsItem时无法显示选中边框。一开始以为是QGraphicsItem的一个属性,找了半天没找到。google之,发现了一篇文章介绍这个问题的解决方法: http://blog.sina.com.cn/s/blog_5edf6e150100cvn1.html 看了半天,也没想到怎么能比较好的整合到我的程序中。于是暂时放弃,再研究qt4的例子。在diagramscene例子中,也实现了上述功能,经研究发现,是QGraphicsPolygonItem类自带的功能,那么它的实现是不是能简单点呢?     打开qgraphicsitem.cpp,找到QGraphicsPathItem::paint函数,发现在绘制之后,加了    if (option->state & QStyle::State_Selected)
    qt_graphicsItem_highlightSelected(this, painter, option);
再找到qt_graphicsItem_highlightSelected函数的实现,发现就是我们想要的,而且该函数相对独立,可以直接复制到我们想要的地方。(从qt提供的注释看,这个函数也是从别的地方复制过来的)     把该函数加入我的程序后,测试好用。代码简单、可靠、可控,实现了我想要的功能。     多快好省的实现共产主义是不可以的,但换个思路,多快好省的实现我们程序功能还是可以的,关键是要多看,多想,多比较。 ps:在qt4编程中,如果要拖动一幅基于view/scene/item的图形,不是通过view的translate来实现,而是通过iew的setDragMode(ScrollHandDrag)函数来实现,这个问题也为上述观点提供了一个很好的注脚。  
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载