-
大小: 16KB文件类型: .rar金币: 1下载: 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版)部分习题解答
相关资源
- 二分查找算法流程图流程图举例
- visio数据流程图(DFD)模板
- plc水位控制系统 plc程序 流程图
- QGraphicsView Draw
- 电商主站首页流程图
- 旅游管理系统的主要数据流程图
- 数据流程图(购物网站数据流程图)
- Qt使用QGraphicsView实现滑动窗体效果
- 多线程http服务器实现流程图
- 波形发生器含原理图、源程序、流程
- VISIO流程图-模板
- GSM呼叫流程图
- 汇编语言实现四则运算完整报告+全部
- svg 画流程图
- 复杂模型机设计(含微指令微程序微
- 某IT公司项目管理流程图.pdf
- 表达式求值 算法 代码 报告 流程图
- 斗地主游戏逻辑流程图
- U8采购业务流程图
- Visio 流程图 模板
- 完成的VISIO绘制的ERP项目流程图模板
- 教你如何画程序流程图
- zigbee组网流程图
- SVN的工作流程图
- 卷积神经网络的训练流程图
- 银行家算法讲解 带流程图
- efficient net 算法流程图
- springboot 整合Activiti工作流 集成 Diag
- visio流程图
- 近邻法流程图
评论
共有 条评论