QGC中QGCQmlWidgetHolder

来源:互联网 发布:elasticsearch sql 编辑:程序博客网 时间:2024/06/16 04:51

主要作用是通过一个qml文件产生widgets

//QGCQmlWidgetHolder.hnamespace Ui{class QGCQmlWidgetHolder;}class QGCQmlWidgetHolder:public QGCDockWidget{    Q_OBJECTpublic:    explicit QGCQmlWidgetHolder(const QString &title,    QAction *action,QWidget *parent=0);    ~QGCQmlWidgetHolder();    QQmlContext *getRootContext(void);    QQuickItem * getRootObject(void);    QQmlEngine * getEngine();private:    Ui::QGCQmlWidgetHolder _ui;}

在cpp文件中:

//QGCQmlWidgetHolder.cppQQuicItem * QGCQmlWidgetHolder::getRootObject(void){return _ui.qmlWidget->engine();

在MainWindow.cc中

_mainQmlWidgetHolder=new QGCQmlWidgetHolder(QString(),NULL,this);//添加挂件_centralLayout->addWidget(_mainQmlWidgetHolder);_mainQmlWidgetHolder->setVisible(true);

在QGC中QGCQmlWidgetHolder.ui中有个对象qmlWidget,因此可以_ui->qmlWidget。
在其他地方使用

QGCQmlWidgetHolder::setSource(const QUrl &qmlUrl){    return _ui.qmlWidget->setSource(qmlUrl);}
原创粉丝点击