在qt的c++程序嵌入一个qml窗口

//拖拽一个QQuickWidget
在这里插入图片描述
c++端和qml通信的桥梁
找到qml的main.qml的路径


   ui->quickWidget->setSource(QUrl::fromLocalFile("../../../code/main.qml"));
    // QML 与 Qt Widgets 通信
    //窗口就成了一个类实例对象
    pRoot = (QObject*)ui->quickWidget->rootObject();

此时目录结构,上面是c++,下面是qml
在这里插入图片描述
如何使用信号槽
c++端发给qml端

//c++端写一个信号触发qml端的信号
 if (pRoot != NULL)
    {
        
        connect(ui->btn_circle, SIGNAL(clicked()), pRoot, SIGNAL(cSignal()));
	}

//qml端这么写

 signal cSignal
onCSignal()
{

}

qml端发给c++端


```connect(pRoot,SIGNAL(qml_ClickedCircle(QVariant,QVariant,double,double,double)),this,SLOT(slot_qml_CircleClicked(QVariant,QVariant,double,double,double)));
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值