-
大小: 16KB文件类型: .rar金币: 2下载: 0 次发布日期: 2021-05-26
- 语言: 其他
- 标签: Diagram 流程图 graphicsview
资源简介
qt 绘制流程图示例程序,实现了节点的添加,以及节点之间连续操作

代码片段和文件信息
#include
#include
#include
#include
#include
#include
#include
#include “diagramwindow.h“
#include “link.h“
#include “node.h“
#include “propertiesdialog.h“
DiagramWindow::DiagramWindow()
{
scene = new QGraphicsScene(0 0 600 500);
view = new QGraphicsView;
view->setScene(scene);
view->setDragMode(QGraphicsView::RubberBandDrag);
view->setRenderHints(QPainter::Antialiasing
| QPainter::TextAntialiasing);
view->setContextMenuPolicy(Qt::ActionsContextMenu);
setCentralWidget(view);
minZ = 0;
maxZ = 0;
seqNumber = 0;
createActions();
createMenus();
createToolBars();
connect(scene SIGNAL(selectionchanged())
this SLOT(updateActions()));
setWindowtitle(tr(“Diagram“));
updateActions();
}
void DiagramWindow::addNode()
{
Node *node = new Node;
node->setText(tr(“Node %1“).arg(seqNumber + 1));
setupNode(node);
}
void DiagramWindow::addlink()
{
NodePair nodes = selectedNodePair();
if (nodes == NodePair())
return;
link *link = new link(nodes.first nodes.second);
scene->addItem(link);
}
void DiagramWindow::del()
{
QList items = scene->selectedItems();
QMutableListIterator i(items);
while (i.hasNext())
{
link *link = dynamic_castnk *>(i.next());
if (link)
{
delete link;
i.remove();
}
}
qDeleteAll(items);
}
void DiagramWindow::cut()
{
Node *node = selectedNode();
if (!node)
return;
copy();
delete node;
}
void DiagramWindow::copy()
{
Node *node = selectedNode();
if (!node)
return;
QString str = QString(“Node %1 %2 %3 %4“)
.arg(node->textColor().name())
.arg(node->outlineColor().name())
.arg(node->backgroundColor().name())
.arg(node->text());
QApplication::clipboard()->setText(str);
}
void DiagramWindow::paste()
{
QString str = QApplication::clipboard()->text();
QStringList parts = str.split(“ “);
if (parts.count() >= 5 && parts.first() == “Node“)
{
Node *node = new Node;
node->setText(QStringList(parts.mid(4)).join(“ “));
node->setTextColor(QColor(parts[1]));
node->setOutlineColor(QColor(parts[2]));
node->setBackgroundColor(QColor(parts[3]));
setupNode(node);
}
}
void DiagramWindow::bringToFront()
{
++maxZ;
setZValue(maxZ);
}
void DiagramWindow::sendToBack()
{
--minZ;
setZValue(minZ);
}
void DiagramWindow::properties()
{
Node *node = selectedNode();
link *link = selectedlink();
if (node)
{
PropertiesDialog dialog(node this);
dialog.exec();
}
else if (link)
{
QColor color = QColorDialog::getColor(link->color() this);
if (color.isValid())
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1212 2019-10-22 08:25 Diagram\Diagram.pro
文件 43815 2019-10-30 17:17 Diagram\Diagram.pro.user
文件 8239 2019-10-21 14:24 Diagram\diagramwindow.cpp
文件 1254 2008-01-09 08:43 Diagram\diagramwindow.h
文件 293 2008-01-09 08:43 Diagram\images\bringtofront.png
文件 1304 2008-01-09 08:43 Diagram\images\colors.png
文件 485 2008-01-09 08:43 Diagram\images\copy.png
文件 537 2008-01-09 08:43 Diagram\images\cut.png
文件 833 2008-01-09 08:43 Diagram\images\delete.png
文件 208 2008-01-09 08:43 Diagram\images\li
文件 212 2008-01-09 08:43 Diagram\images\node.png
文件 907 2008-01-09 08:43 Diagram\images\paste.png
文件 318 2008-01-09 08:43 Diagram\images\sendtoback.png
文件 1769 2019-10-21 21:19 Diagram\li
文件 599 2019-10-21 21:19 Diagram\li
文件 189 2019-10-22 08:23 Diagram\main.cpp
文件 3249 2019-10-21 14:01 Diagram\node.cpp
文件 1221 2019-10-21 13:53 Diagram\node.h
文件 1788 2019-10-21 14:17 Diagram\propertiesdialog.cpp
文件 686 2019-10-21 14:16 Diagram\propertiesdialog.h
文件 7977 2019-10-21 14:16 Diagram\propertiesdialog.ui
文件 353 2008-01-09 08:43 Diagram\resources.qrc
目录 0 2019-11-03 07:11 Diagram\images
目录 0 2019-11-03 07:11 Diagram
----------- --------- ---------- ----- ----
77448 24
- 上一篇:调频发射机通信课程设计
- 下一篇:《TCP/IP协议族》(第4版)部分习题解答
相关资源
- vc 6.0开发的流程图编辑器
- H.264编码器流程图
- 整车物流运输流程图
- netron2009
- 网上书店设计说明书_(含结构图、流
- bool商城代码+笔记+流程图
- faster rcnn流程图
- QGraphicsView框架实现画板
- Stateflow流程图
- PX4飞控系统的流程图
- 图书管理系统(流程图+功能图+ER+全套
- netron源代码v2.1
- 流程图生成器
- 基于SIP协议的抓包工具
- 进销存管理系统详细设计(包括流程
- 人力资源部VSD流程图
- 电信计费系统(代码+文档+流程图等毕
- 源代码转化成流程图软件
- 工艺流程图
- visio流程图模板库
- designcon2014 资料
- visus612工具 自动生成编程语言流程图
- 程序流程图生成器很容易生成
- 简单的流程图绘制软件,比微软的v
- AutoFlowChart自动生成流程图2.4.7真正的
- 程序流程网络拓扑图绘制工具
- 火电厂各系统流程图(主系统)
- HIS各子系统流程图
- Pixhawk控制流程图-蜗牛拉火车
- 业务流程分析与业务流程图的画法
评论
共有 条评论