一、开发环境

OS

Windows 7 Ultimate 64 Bit

IDE

Visual Studio 2012 Premium (MSVC++ 11.0)

Qt5 Visual Studio Add-in 1.2.3

External Libraries

Qt 5.3 32-bit for Desktop (MSVC 2012 OpenGL) [GPL]

OGDF v. 2015.05 [GPL]

Bin目录下是可执行文件。附有所需的MSVC 11.0运行库的安装包,以及Qt所需的一系列dll文件。已用虚拟机测试,在新安装的纯净Win10系统中能够正常运行。

由于采用标准C++语法、采用的图形框架Qt是跨平台的、采用的外部库OGDF是C++的且是开源的,本软件理论上可跨平台编译运行。

程序执行时默认从工作目录下的PaperConferenceAuthorGraph、TopicGraph子目录内读取输入数据。

二、要求完成情况

以下是已完成的项目,依大作业要求和评分标准列出。

基本要求

使用QT实现2个数据集的不同数据类型、不同Layout方法的绘图,能够在不同方法数据间切换

能够展示节点和边的所有属性

能够对视图进行放大、缩小(可使用鼠标滚轮)

进阶要求

可以用鼠标拖动节点

不同Layout之间用动画进行变换

鼠标在移到可以点击的部分时变成手的形状

可以针对点的属性(连通度)进行过滤

可以利用拉索选择一部分点进行高亮,并且拖动这一些点(鼠标右键进入多选模式)

其他交互

自定义视图的几何样式:半径、线宽、字号、配色主题

为悬停和选中的节点提供视觉提示

点击节点后高亮由其相邻节点构成的子图

鼠标拖拽可进行视图平移

鼠标滚轮可以当前指针位置为中心进行视图缩放

自己写的Layout算法

Circular(简单匀布在圆周上。这是一个平凡的算法,库里本来就有)

Circular x2(选取一部分点放在中间的小圆圈内)

Grid(简单平铺在平面格点上。这是一个平凡的算法,库里本来就有)

LZYLayout(所有点分布成LZY字样。这是一个娱乐性的算法)

水平实在有限,自己写的布局算法都比较水。感觉亮点在于细腻流畅的前端交互。除使用右侧面板中的按钮、滑动条、下拉列表框之外,主要的交互都可以由各种鼠标动作(左键、右键、滚轮,悬停、点击、拖拽)完成。工程总代码量不大(1.6k行,不计generated files),因为用了些面向对象的技巧精简节约代码量。数据结构和逻辑上做了精心的优化。据我自己测试,程序占用内存的峰值不超过12MB,交互和动画毫无卡顿感。

参考文档和完整的文档和源码下载地址:

qt 三方源码 画饼图_[源码和文档分享]基于VC++和QT实现的图的可视化工具相关推荐

  1. bootstrap signin将邮件改成用户名_[源码和文档分享]基于VC++和Oracle数据库的邮件管理系统的设计与实现...

    摘 要 电子邮件的使用简易,投递迅速,收费低廉,易于保存,全球畅通无阻,使得电子邮件被广泛地应用,当前流行的各大邮件系统除了最主要的收发信件之外,功能越来越复杂,但是人们平常真正用到的功能很少,很多功 ...

  2. [源码和文档分享]基于VC++控制台实现的图书信息管理系统

    1 需求分析 开发一个图书信息管理系统,图书信息包括:图书编号.书名.作者.出版社.类别.出版时间.价格等基本信息(也可以根据自己情况进行扩充,比如是否借出.库存量等).使之能提供以下基本功能: 图书 ...

  3. [源码和文档分享]基于VC++的WIN32 API界面编程实现的飞机太空大战小游戏

    一.程序功能介绍 炫酷精美的飞机太空大战,为体现"设计"的原创性,团队不使用游戏引擎,也没有抄袭任何源代码.全局使用团队自行编写的游戏类对象编写程序.建立以WIN32分辨率960* ...

  4. [源码和文档分享]基于VC++的四国军棋局域网联网游戏的设计与实现

    本文详细介绍了一个在Windows环境下的基于游戏大厅框架的四国军棋网络游戏的设计和实现.该游戏可在局域网上联机对战,实现了游戏.聊天.积分等功能.该软件在Windows环境下用VC++6.0实现. ...

  5. [源码和文档分享]基于VC++和OpenCV实现的全民飞机大战游戏

    摘要 功能:利用C++语言完成了一个小游戏项目-全民飞机大战,该游戏首先能够给用户提供注册,登录功能:提供了菜单栏及两种游戏模式,一种是无尽模式,另一种是一般模式:一般模式中用户通过控制玩家飞机攻击敌 ...

  6. [源码和文档分享]基于VC++的MFC类库实现的住房贷款计算器

    1 系统需求分析 1.1 系统目标 在我们的日常生活中,经常会遇到一些繁琐的计算,比如房贷的计算,手工计算非常的繁琐,这时我们就需要用到一个专门的房贷计算器,所以借着课程设计这个机会我便开发了这个房贷 ...

  7. [源码和文档分享]基于VC++的WIN32 API界面编程实现的百战天虫小游戏

    1 游戏介绍 本游戏是建立在百战天虫游戏框架下的,具有完全不同的游戏背景的一款回合制对战游戏.游戏设计者受到口袋妖怪,以及近期上映的电影<神奇动物在哪里>的启发,设定了"收服精灵 ...

  8. [源码和文档分享]基于C语言的局域网飞鸽传书软件设计与实现

    摘 要 网络通讯在当今已经不算新鲜事物,但大多数网络通讯都需要借助Internet上的服务器,这就给那些具有大规模内部网络的用户造成了许多问题,如浪费网络资源.遭遇到网络攻击.传播的病毒.破坏防御系统 ...

  9. 基于qt和mysql的地铁线路系统_[源码和文档分享]基于QT实现的可视化地铁换乘查询系统...

    1.1 题目 上海的地铁交通网络已经基本成型,建成的地铁线十多条,站点上百个,现需建立一个换乘指南打印系统,通过输入起点和终点站,打印出地铁换乘指南,指南内容包括起点站.换乘站.终点站. 图形化显示地 ...

最新文章

  1. 系列四、SpringMVC响应数据和结果视图
  2. 洛谷——P1258 小车问题
  3. PowerShell 调用dll
  4. 每一个div元素分析 php,PHP初入,div知识点整理(特效字体等元素的使用整理)...
  5. Linux服务-NFS服务部署
  6. oracle 12c pl/sql语言,ORACLE 12C SQL语句中通过with 定义PL/SQL 函数
  7. 下载丨Oracle 11g 安装后参数规范设置
  8. pyqt5——QImage与QPixmap
  9. 电子技术部下半学期第一次培训
  10. 福昕阅读器中批量删除注释
  11. python能用于机械设计吗_为什么人工智能首选Python?因为有很多适用于ML和DL的Python库!...
  12. 2022年全球市场柠檬酸酯总体规模、主要生产商、主要地区、产品和应用细分研究报告
  13. ffmpeg将mp4转为m4a,m4a转mp3,mp3转ogg
  14. 枫叶蓝代码生成工具 和对服装行业的一些感悟
  15. HBuilder控制台打开方式
  16. pve中新加一块硬盘_J1900工控主板装PVE虚拟机搭爱快LEDE双软路由系统小记
  17. 重磅!实在智能首创“智能融合拾取”技术!
  18. 忽略validateRequest设置
  19. 然之协同系统漏洞利用汇总
  20. 【sql server】英文按首字母排序+首字母相同英文排中文后面+数字开头最后+忽略空格影响

热门文章

  1. C语言小项目之扫雷游戏(简易版)
  2. “疯狂”抗癌史:从以毒攻毒,再到用犯人进行试验,成就一个诺奖
  3. 小学教师计算机模块报哪些,小学计算机教师个人工作总结
  4. 7-1 C0216:输入矩形的长和宽,输出周长和面积
  5. 矩阵的基本运算(一)
  6. 劲乐园合歌(幽灵圣典+飞吧喜鹊+唯一+v3+幽灵圣典2)铃声 劲乐园...
  7. 数学问题:1000瓶酒找1毒酒
  8. 换天空的几个方式技巧
  9. ubuntu 装pyqt5_Ubuntu18.04安装pyQt5
  10. python 学习day7