zl程序教程

您现在的位置是:首页 >  工具

当前栏目

Qt编写自定义控件7-自定义可拖动多边形

Qt 自定义 控件 编写 拖动 多边形
2023-09-14 09:01:41 时间

一、前言

自定义可拖动多边形控件,原创作者是赵彦博(QQ:408815041 zyb920@hotmail.com),创作之初主要是为了能够在视频区域内用户自定义可拖动的多个区域,即可用来作为警戒区域,也可用来其他的处理,拿到对应的多边形坐标集合,本控件的主要难点是如何计算一个点在一个多边形区域内,何时完成一个多边形区域,支持多个多边形。

二、实现的功能

  • 1:自定义随意绘制多边形
  • 2:产生闭合形状后可单击选中移动整个多边形
  • 3:可拉动某个点
  • 4:支持多个多边形
  • 5:鼠标右键退出绘制
  • 6:可设置各种颜色

三、效果图

在这里插入图片描述

四、头文件代码

#ifndef CUSTOMGRAPHICS_H
#define CUSTOMGRAPHICS_H

/**
 * 自定义多边形控件 作者:赵彦博(QQ:408815041 zyb920@hotmail.com) 2019-3-28
 * 1:自定义随意绘制多边形
 * 2:产生闭合形状后可单击选中移动整个多边形
 * 3:可拉动某个点
 * 4:支持多个多边形
 * 5:鼠标右键退出绘制
 * 6:可设置各种颜色
 */

#include <QWidget>

#ifdef quc
#if (QT_VERSION < QT_VERSION_CHECK(5,7,0))
#include <QtDesigner/QDesignerExportWidget>
#else
#include &l