Qt (高仿Visio)流程图组件开发(七) 流程图 简单操作界面搭建

这篇具有很好参考价值的文章主要介绍了Qt (高仿Visio)流程图组件开发(七) 流程图 简单操作界面搭建。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


本系列目录

Qt (高仿Visio)流程图组件开发(一) 效果展示及基本开发框架构思
Qt (高仿Visio)流程图组件开发(二) 基本图元绘制 图元间连线绘制
Qt (高仿Visio)流程图组件开发(三) 图元基类如何定义,流程图多种图元类型实现
Qt (高仿Visio)流程图组件开发(四) 流程图 图元对齐 磁吸线功能
Qt (高仿Visio)流程图组件开发(五) 流程图 双击编辑图元内容实现
Qt (高仿Visio)流程图组件开发(六) 流程图 线图元 如何绘制曲线 连接线移除视口后无法显示
Qt (高仿Visio)流程图组件开发(七) 流程图 简单操作界面搭建
Qt (高仿Visio)流程图组件开发(八) 流程图 鼠标拖动图元到场景(QGraphicsScene)创建
Qt (高仿Visio)流程图组件开发(九) 流程图 代码展示


前言

  本文讲解如何为流程图搭建一个简易界面,将不同功能区分别封装为不同的类,方便维护与后期扩展。只是经验分享,描述内容并不绝对,如有误差欢迎指正。


一、界面实现。

  整体布局使用QMainWindow窗口,分为工具栏,图元工具栏,编辑栏,状态栏,图元编辑区域。目前只实现部分简单功能。实现效果如下。
Qt (高仿Visio)流程图组件开发(七) 流程图 简单操作界面搭建

  一些全局的功能存放在顶部工具栏,方便取用。图元类型全部存放在左侧图元工具栏,后期开发其他流程图图元,或者UML图、类图等等都可以添加在此处显示。图元编辑区域就是我们开发的FlowchartView(视口类)。
  为了方便开发,建议各部分功能区自定义自己实现,现有实现如下。


    // 流程图编辑框
    class FlowCharToolButtonBar;
    class FlowCharToolSideBar;
    class FlowCharWidget : public QMainWindow
    {
        Q_OBJECT

    public:

        FlowCharWidget(QWidget *parent = Q_NULLPTR);

        // 获取流程图数据
        FlowchartInforBases GetFlowCharData();

        // 设置流程图数据
        void SetFlowChartData(FlowchartInforBases _datas);

    private:

        // 初始化窗体
        void InitWindow();

        void DataTest();


    private:

        FlowchartScene*					scene_;							// 流程图编辑界面
        FlowCharToolSideBar*			tool_side_bar_;					// 左侧形状菜单
        FlowCharToolButtonBar*			tool_button_bar_;				// 顶层工具栏
    };


    //*******************************工具栏************************************
    class FlowCharToolButtonBar : public QToolBar
    {
        Q_OBJECT

    public:

        FlowCharToolButtonBar(QWidget *parent = Q_NULLPTR);

        ~FlowCharToolButtonBar();

        // 传入场景对象
        void SetFlowchartScene(FlowchartScene* _scene);

        // 传入形状栏
        void SetToolSideBar(FlowCharToolSideBar* _side_bar);

    private:

        // 初始化界面
        void InitWidget();

        // 文件保存
        void FileSave();

        // 文件读取
        void FileRead();

    private slots:

        // action通用槽函数
        void FlowActionSlot();


    private:

        // 设置鼠标状态		指针工具	连接线
        QAction *mouse_status_nomal_, *mouse_status_link_;
        // 形状
        QAction *item_type_;
        // 保存为文件	读取文件
        QAction* file_save_, * file_read_;

        FlowchartScene* scene_;
        FlowCharToolSideBar* side_bar_;

        // 测试数据
        FlowchartInforBases datas;
    };


    //*******************************左侧工具栏************************************
    class  FlowCharToolSideBar : public QDockWidget
    {
        Q_OBJECT

    public:
        FlowCharToolSideBar(QWidget *parent = Q_NULLPTR);
        ~FlowCharToolSideBar();

        void SetFlowchartScene(FlowchartScene* _scene);

    private:

        void InitWidget();

        void InitData();

    private slots:

        void FlowButtonSlot();

    private:

        QStackedWidget* stacked_widget_;

        FlowchartScene* scene_;
        QMap<std::string, QPushButton*> vec_btn_;
    };

总结

本文主要讲解界面如何搭建。
本文只是经验分享,描述内容并不绝对,如有误差欢迎指正。

如果此文帮助到你( •̀ ω •́ )✧,动动小手点个赞可好O(∩_∩)O。文章来源地址https://www.toymoban.com/news/detail-424269.html

原创文章,转载请标明本文出处。

到了这里,关于Qt (高仿Visio)流程图组件开发(七) 流程图 简单操作界面搭建的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 简单介绍十几款常用的画架构图流程图的软件

    draw.io是开源免费的在线画图工具,还提供桌面版本。 特性: 实时协作; 支持在线离线版本; 存储支持多种方式:Google Drive, OneDrive, GitHub, GitLab, Dropbox等; 许多丰富的图标库。 ProccessOn是一款优秀的国产在线协作画图软件,非常好用,也非常漂亮。 Excalidraw是免费的在线协作

    2023年04月19日
    浏览(92)
  • Scrum敏捷开发流程图怎么画?

    Scrum敏捷开发流程图是一种可视化工具,用于形象地描述Scrum敏捷开发方法中的工作流程和活动。Scrum敏捷开发流程图展示了项目从需求收集到产品交付的整个开发过程,帮助团队理解和跟踪项目进展,促进团队合作和决策。                     在绘制Scrum敏捷开发流程图时

    2024年02月14日
    浏览(39)
  • [word] 如何使用Excel制作简单的流程图 #媒体#微信#学习方法

    如何使用Excel制作简单的流程图 对于在职场办公的朋友们来说,经常要使用到Excel演示公式,制作各种图表等等,其实Excel还可以制作简单的流程图呢,估计许多小伙伴们还不知道吧,今天就来给大家演示一下,看完就会了哦。 一,首先打开Excel,点击插入SmartArt,择你需要使

    2024年02月22日
    浏览(37)
  • 【大数据开发】数据开发必要知识及框架流程图

    数据传输组件: ①Kafka是用Scala编写的分布式消息处理平台。 ②Logstash是用JRuby编写的一种分布式日志收集框架。 ③Flume是用Java编写的分布式实时日志收集框架。 数据存储组件: HDFS (Hadoop Distributed File System)用Java编写,是谷歌的GFS(Google File S ystem)的一种开源实现。 Redis是用

    2024年02月16日
    浏览(32)
  • 蓝牙开发之-Android12及以下权限申请 及蓝牙详细流程图

    一、蓝牙开发之-权限申请, 直接上代码 第一步、在 AndroidManifest.xml 中 声明下需要的权限 第三步、权限拿到了,就扫描、连接、进行通信 吧 附上流程图

    2024年04月13日
    浏览(47)
  • 使用antv/G6在vue项目中开发较复杂样式流程图

    设计师提供了一版样式较复杂的流程图,我搜了一些常用的vue-super-flow和vue-x6-flow等都只支持简单的样式。之前自己写过纯展示流程图不涉及太多交互,感觉还是找一个成熟的插件开发更适合,也方便其他同事参考,所以最后选择了用antv/G6自己个性化开发,总结了使用antv/G6在

    2023年04月09日
    浏览(37)
  • 前端流程图框架11个:开发组态图、思维导图、拓扑图必备

    在前端开发中,实现流程图通常涉及以下几个方面: HTML 结构 :使用 HTML 标签来定义流程图的结构,如使用 div 元素表示节点,使用 svg 元素表示连接线等。 CSS 样式 :使用 CSS 样式来定义流程图的外观,包括节点的样式、连接线的样式、文本的样式等。可以使用 CSS 属性来设

    2024年04月15日
    浏览(66)
  • 流程图实现,基于vue2实现的流程图

    flex布局 + 伪元素实现竖直的连接线+组件递归 2.1基础的(未截全,大致长这样)  2.2带有收缩功能的,可以展开和收缩并显示数量     4.项目源码地址 GitHub - yft-code/flow: 流程图 纯css实现流程图

    2024年02月16日
    浏览(42)
  • 流程图如何制作?5步快速画出好看的流程图!

    流程图是一种图形化工具,描述某个过程或者操作的步骤,以及某种业务系统的具体流程。流程图通常由各种图形符号、形状、箭头组成,可以清晰的表示出流程或系统中各种步骤、每个环节之间的关系、条件判断、数据的流动和处理过程等。           对于负责策划的职场

    2024年02月14日
    浏览(42)
  • Java版企业电子招标采购系统源代码Spring Boot + 二次开发 + 前后端分离 构建企业电子招采平台之立项流程图

      项目说明 随着公司的快速发展,企业人员和经营规模不断壮大,公司对内部招采管理的提升提出了更高的要求。在企业里建立一个公平、公开、公正的采购环境,最大限度控制采购成本至关重要。符合国家电子招投标法律法规及相关规范,以及审计监督要求;通过电子化

    2024年02月07日
    浏览(64)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包