C++ and QML , Signals

来源:互联网 发布:ipad屏幕录制软件 编辑:程序博客网 时间:2024/06/07 18:59

Connections {        target: client  // 目标对象        onCallQmlRefeshImg:        {//连接自定义类Client来的信号,表示要刷新图片             dir1=client.GetPath1()             filename=client.GetPath2()        }int main(int argc, char *argv[]){    QGuiApplication app(argc, argv);    Client *client=new Client;    QtQuick2ApplicationViewer viewer;    viewer.engine()->rootContext()->setContextProperty("client", client);  // 将新的类映射为QML的一个对象,c++交互    viewer.engine()->addImageProvider(QLatin1String("screen"), client->imgProvider);//这句一个要在下一句之前,为引擎添加图片提供    viewer.setMainQmlFile(QStringLiteral("qml/remoteContralClient/main.qml")); //SetSource ?    QWidget *w = QWidget::createWindowContianer(&viewer, &targetWidget);    //targetWidget is the Area of MainProcude}class Client : public QObject{    Q_OBJECTpublic:    explicit Client(QObject *parent = 0);    ScreenImageProvider *imgProvider;    void SetPath(QString dir, QString filename);signals:    void callQmlRefeshImg();private:    QString pathdir, filename;}//When in useclient->SetPath(dir, filename);emit client->callQmlRefeshImg()


原创粉丝点击