这是我的main.qml:
import QtQuick 2.0
import A 1.0
Item {
width: 1280
height: 720
OpenGlVideoQtQuick {
}
}
这是OpenGlVideoQtQuick的一部分:
class OpenGlVideoQtQuick : public QQuickItem
{
Q_OBJECT
Q_PROPERTY(qreal t READ t WRITE setT NOTIFY tChanged)
public:
OpenGlVideoQtQuick();
qreal t() const { return m_t; }
void setT(qreal t);
Q_INVOKABLE void initRtspMedia(const QString &uri);
}
如何在创建initRtspMedia()
QML对象时立即从QML调用OpenGlVideoQtQuick
?我只看到按钮和其他东西如何调用C ++代码,而没有看到如何立即调用它。
答案 0 :(得分:3)
在这种情况下,您可以使用Component.onCompleted:
PATCH
或者在C ++中,您可以借助QQmlParserStatus来做到这一点:
import QtQuick 2.0
import A 1.0
Item {
width: 1280
height: 720
OpenGlVideoQtQuick {
id: opengl_video
Component.onCompleted: opengl_video.initRtspMedia("some uri")
}
}