1 Star 0 Fork 0

yuanerhh/GenUML

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
MainView.cpp 1.51 KB
一键复制 编辑 原始数据 按行查看 历史
yuanerhh 提交于 2024-11-10 23:28 . 可以生成类图。
#include "MainView.h"
#include <stdexcept>
#include <QQmlComponent>
#include <QQmlContext>
#include <QtConcurrent/QtConcurrent>
#include <QDebug>
using namespace std;
static const QString g_strUrl = "qrc:/qml/MainWin.qml";
CMainView::CMainView(QObject *parent) : QObject(parent)
{
m_engine.rootContext()->setContextProperty("mainView", this);
m_pImageProvider = new CImageProvider();
m_engine.addImageProvider("uml_image", m_pImageProvider);
const QUrl url(g_strUrl);
QQmlComponent compentCreate(&m_engine, url);
m_pMainWin.reset((QQuickWindow*)compentCreate.create(), [](QQuickWindow* pWin) {
pWin->deleteLater();
});
if (nullptr == m_pMainWin)
{
auto errors = compentCreate.errors();
QString strErr = "CUserMgrWndView componentGuide.create failed";
for(auto err : errors)
{
strErr += err.toString() + ";";
}
qDebug() << strErr << endl;
throw std::runtime_error(strErr.toStdString());
}
}
CMainView::~CMainView()
{
}
void CMainView::show()
{
m_pMainWin->show();
}
void CMainView::analyze()
{
QtConcurrent::run([this](){
emit sigUpdateQml("busyWnd", true);
//此连接需要DirectConnection,需要在QtConcurrent线程中执行,从而不阻塞主线程刷新界面
emit sigAnalyze();
emit sigUpdateQml("busyWnd", false);
});
}
void CMainView::updateUmlImage(const QImage& img)
{
m_pImageProvider->updateImage(img);
emit sigUpdateQml("updateImage", QVariant());
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/yuanerhh/GenUML.git
[email protected]:yuanerhh/GenUML.git
yuanerhh
GenUML
GenUML
master

搜索帮助