记录一些QtQuick/QML基础方法,大佬忽略。。。
信号监听
1、在qml定义全局信号
signal minusClicked()
2、监听信号/连接信号与槽
对象id.minusClicked.connect(onPopupClosed); //定义function PopupClosed()
或
Connections {
target: target
onSignal:{
//function
}
单例类注册与调用
1、公共类,函数定义使用Q_INVOKABLE说明,如
Q_INVOKABLE void funcA(param pa);
单参数构造,建议添加显式构造声明
explicit constructor(param pa);
2、在main.qml注册静态函数,返回静态指针
static QObject* classPubProvider(QQmlEngine *engine, QJSEngine *scriptEngine)
{
ClassPub* pPub = new ClassPub(pa);
return pPub;
}
3、在main中注册, qmlRegisterSingletonType<类名>("库名",版,本,"对象名",main中实例化函数名)
qmlRegisterSingletonType<ClassPub>("pub.Class",1,0,"classPub",classPubProvider);
4、在qml中静态调用
classPub.funcA(pa);