Qt 绘制 不规则区域

xiao452159568 2015-01-06 09:38:03
QPainter pt(this);
QPainterPath path;

QRegion rdg;
rdg = rdg.united(QRect(50,50,300,50));
rdg = rdg.united(QRect(50,100,350,50));
rdg = rdg.united(QRect(0,150,300,50));
rdg = rdg.united(QRect(450,100,100,50));

path.addRegion(rdg);
pt.drawPath(path);
pt.end();
以上绘制代码绘制出的效果如下

现在的情况是需要一个个矩形区域不断叠加,然后最终一次绘制,但是如果是相交矩形则不能绘制重叠部分的线,效果如下,不知道各位有什么好办法没有。
...全文
623 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiao452159568 2015-01-08
  • 打赏
  • 举报
回复
算了,结贴吧。
翅膀又硬了 2015-01-06
  • 打赏
  • 举报
回复
有画多边形的函数吧?你自己写个函数画多边形呗
xiao452159568 2015-01-06
  • 打赏
  • 举报
回复
引用 3 楼 dbzhang800 的回复:
用某个类之前,不看看Manual么? QRegion Class This class is not suitable for constructing shapes for rendering, especially as outlines. Use QPainterPath to create paths and shapes for use with QPainter.
其实我目前想到的办法就是先生成QRegion,然后再根据QRegion生存path,但是写出来的代码比较难看。
xiao452159568 2015-01-06
  • 打赏
  • 举报
回复
引用 3 楼 dbzhang800 的回复:
用某个类之前,不看看Manual么? QRegion Class This class is not suitable for constructing shapes for rendering, especially as outlines. Use QPainterPath to create paths and shapes for use with QPainter.
QRegion是支持,但是QPainter不支持直接绘制这个啊,只能设置裁剪区。
dbzhang800 2015-01-06
  • 打赏
  • 举报
回复
用某个类之前,不看看Manual么? QRegion Class This class is not suitable for constructing shapes for rendering, especially as outlines. Use QPainterPath to create paths and shapes for use with QPainter.
xiao452159568 2015-01-06
  • 打赏
  • 举报
回复
引用 1 楼 yunchao630 的回复:
有画多边形的函数吧?你自己写个函数画多边形呗
我是想知道Qt有没有现成的方法。

16,216

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧