資源簡介
qt 故障樹 用qt 的graphics實現的畫圖功能 有需要的可以參考要一下

代碼片段和文件信息
#include?“faulttree.h“
#include?“ui_faulttree.h“
#include?“items.h“
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?“simdata.h“
FaultTree::FaultTree(QWidget?*parent)?:
????QWidget(parent)
????ui(new?Ui::FaultTree)
{
????ui->setupUi(this);
????init();
????createMenu();
}
FaultTree::~FaultTree()
{
????delete?ui;
}
void?FaultTree::init()
{
????m_model?=?new?StandardTreeModel(this);
????ui->treeView->setModel(m_model);
????ui->treeView->header()->setSectionresizeMode(QHeaderView::ResizeToContents);
????m_scene?=?new?QGraphicsScene(this);
????ui->graphicsView->setScene(m_scene);
????connect(&m_timer?SIGNAL(timeout())?this?SLOT(timeOut()));
????m_model->load(“data.db“);
}
void?FaultTree::createMenu()
{
????ui->treeView->setContextMenuPolicy(Qt::CustomContextMenu);
????m_menu?=?new?QMenu(this);
????QAction?*topEventOrAction?=?new?QAction(QStringLiteral(“添加頂事件(或門)“));
????m_menu->addAction(topEventOrAction);
????connect(topEventOrAction?SIGNAL(triggered())?this?SLOT(addTopOrEvent()));
????QAction?*topEventAndAction?=?new?QAction(QStringLiteral(“添加頂事件(與門)“));
????m_menu->addAction(topEventAndAction);
????connect(topEventAndAction?SIGNAL(triggered())?this?SLOT(addTopAndEvent()));
????QAction?*midEventOrAction?=?new?QAction(QStringLiteral(“添加中間事件(或門)“));
????m_menu->addAction(midEventOrAction);
????connect(midEventOrAction?SIGNAL(triggered())?this?SLOT(addMidOrEvent()));
????QAction?*midEventAndAction?=?new?QAction(QStringLiteral(“添加中間事件(與門)“));
????m_menu->addAction(midEventAndAction);
????connect(midEventAndAction?SIGNAL(triggered())?this?SLOT(addMidAndEvent()));
????QAction?*bottomEventAction?=?new?QAction(QStringLiteral(“添加底事件“));
????m_menu->addAction(bottomEventAction);
????connect(bottomEventAction?SIGNAL(triggered())?this?SLOT(addBottomEvent()));
????QAction?*genTreeAction?=?new?QAction(QStringLiteral(“生成故障樹“));
????m_menu->addAction(genTreeAction);
????connect(genTreeAction?SIGNAL(triggered())?this?SLOT(generateFaultTree()));
????QAction?*setSimDataAction?=?new?QAction(QStringLiteral(“設置底事件模擬數據“));
????m_menu->addAction(setSimDataAction);
????connect(setSimDataAction?SIGNAL(triggered())?this?SLOT(setSimData()));
????QAction?*deleteEventAction?=?new?QAction(QStringLiteral(“刪除事件“));
????m_menu->addAction(deleteEventAction);
????connect(deleteEventAction?SIGNAL(triggered())?this?SLOT(deleteEvent()));
}
void?FaultTree::on_treeView_customContextMenuRequested(const?QPoint?&pos)
{
????m_curIndex?=?ui->treeView->indexAt(pos);
????m_curIndex?=?m_curIndex.sibling(m_curIndex.row()?0);
????m_menu->exec(QCursor::pos());
}
void?FaultTree::addTopOrEvent()
{
????QString?str?=?QInputDialog::getText(this?QStringLiteral(“請輸入故障信息“)?QStringLiteral(“故障信息“));
????if?(!str.isEmpty())
????{
????????StandardTreeModel::Insert?ins
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2017-05-24?22:47??faultTree\
?????文件????????1182??2017-05-21?12:22??faultTree\faultTree.pro
?????文件???????44055??2017-05-24?22:47??faultTree\faultTree.pro.user
?????文件???????11565??2017-05-24?22:47??faultTree\faultTree.zip
?????文件???????18999??2017-05-24?22:45??faultTree\faulttree.cpp
?????文件????????1421??2017-05-24?22:27??faultTree\faulttree.h
?????文件????????1524??2017-05-21?12:38??faultTree\faulttree.ui
?????文件????????4620??2017-05-21?17:03??faultTree\items.cpp
?????文件????????1853??2017-05-21?17:02??faultTree\items.h
?????文件?????????181??2017-05-19?23:34??faultTree\main.cpp
?????文件?????????547??2017-05-21?12:26??faultTree\simdata.cpp
?????文件?????????634??2017-05-21?16:48??faultTree\simdata.h
?????文件????????2026??2017-05-21?17:07??faultTree\simdata.ui
?????文件????????4076??2017-05-21?18:50??faultTree\standardtreemodel.cpp
?????文件????????1015??2017-05-21?18:47??faultTree\standardtreemodel.h
- 上一篇:flash英語游戲課件
- 下一篇:QPSK和OQPSK的仿真程序和結果,多圖
評論
共有 條評論