#include "mainwindow.h"
#include <QApplication>
#include <QUrl>
#include <QQmlApplicationEngine>
#include <QObject>
#include <QQmlContext>
// qml中和c++互相调用的类;
#include <sdpsystrayicon.h>
#include <SDPHttpRequest.h>
#include <SDPWorkThread.h>
// qml中和c++互相调用的类; end;
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
// MainWindow w;
// w.show();
int runMode = 0;
if(argc == 2)
runMode = atoi(argv[1]);
// qml使用demo:
QQmlApplicationEngine engine;
//注册C++线程类为Qml的组件
qmlRegisterType<WorkTaskPool>("MyWorkTaskPool", 1,0, "MyWorkTaskPool"); // qml里面的异步线程;
const QUrl url(QUrl("qrc:/qml/main.qml"));
QObject::connect(&engine, &QQmlApplicationEngine::objectCreated,
&app, [url](QObject *obj, const QUrl &objUrl) {
if (!obj && url == objUrl)
QCoreApplication::exit(-1);
}, Qt::QueuedConnection);
engine.load(url);
QObject* root = NULL;
QList<QObject*> rootObjects = engine.rootObjects();
for(int i = 0; i<rootObjects.size();i++)
{
if(rootObjects.at(i)->objectName() == "rootObject")
{
root = rootObjects.at(i);
break;
}
}
//暴露http请求对象给qml
QScopedPointer<myHttpRequest> myHttprequest(new myHttpRequest(runMode));
engine.rootContext()->setContextProperty("myHttprequest",myHttprequest.data());
//暴露系统托盘类
QScopedPointer<SDPSysTrayIcon> mySysTrayIcon(new SDPSysTrayIcon(root));
engine.rootContext()->setContextProperty("mySysTrayIcon",mySysTrayIcon.data());
return app.exec();
}
没有合适的资源?快使用搜索试试~ 我知道了~
qt qml和c++的互相调用方式
共41个文件
png:15个
qml:12个
cpp:5个
需积分: 9 4 下载量 200 浏览量
2022-07-13
20:44:15
上传
评论
收藏 82KB RAR 举报
温馨提示
1. qt中qml调用c++的函数; 2. qt中c++调用qml的函数; 3. qml注册c++对象,并实现函数之间的互相调用;
资源详情
资源评论
资源推荐
收起资源包目录
untitled_qml.rar (41个子文件)
untitled_qml
untitled.qrc 1KB
SDPHttpRequest.h 1KB
untitled.pro.user 22KB
sdpsystrayicon.cpp 2KB
images
setServerAdd.png 6KB
sysCheckSuccessBig.png 5KB
srvAddr.png 870B
sdp.png 9KB
sysCheckErr.png 5KB
pwduser.png 1013B
Bigest.png 1011B
sysCheckSuccess.png 5KB
prefer.png 1KB
close.png 2KB
code.jpg 4KB
errorxx.png 7KB
noExist.png 7KB
sysCheckErrBig.png 5KB
phoneNum.png 1KB
minimized.png 794B
qml
SDPTabViewCheck.qml 3KB
MainWindow.qml 2KB
component
SDPTextField.qml 1KB
SDPWorkThread.qml 77B
SDPPicCode.qml 1KB
SDPToast.qml 1KB
SDPTitleBar.qml 8KB
SDPDialog.qml 7KB
SDPTabViewSysCheck_xx.qml 9KB
SDPTabViewSysCheck.qml 4KB
LoginWindow.qml 34KB
main.qml 9KB
SDPHttpRequest.cpp 1KB
SDPWorkThread.cpp 705B
sdpsystrayicon.h 590B
untitled.pro 838B
main.cpp 2KB
mainwindow.ui 558B
mainwindow.cpp 236B
mainwindow.h 344B
SDPWorkThread.h 2KB
共 41 条
- 1
jiangxia_pyy
- 粉丝: 0
- 资源: 23
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0