当前位置: 代码迷 >> QT开发 >> 请教怎么把一个QWidget对象,丢到QML端显示
  详细解决方案

请教怎么把一个QWidget对象,丢到QML端显示

热度:26   发布时间:2016-04-25 04:28:05.0
请问如何把一个QWidget对象,丢到QML端显示?
如题哈。

有个前提是我这个QWidget对象已经是在内存里的了。

比如我有一个QMainWidget已经生成好了。
#include <QGraphicsProxyWidget>

int main(int argc, char *argv[])
{
  QApplication a(argc, argv);
  QDeclarativeView view;
  view.setSource(QUrl("./main.qml"));

  QMainWidget *w = new MainWindow(&view);
  QGraphicsProxyWidget container;
  container.setWidget(w);

//这里代码应该写啥呢?
//view.rootContext()->setContextProperty(xxxxxxx); 对应QML那边需要做啥修改呢。还是需要其他办法?
  view.show();

  return a.exec();
}

谢谢各位了哈。

------解决方案--------------------
assistan中
Home > Examples > QML Examples & Demos > C++ Extensions: QWidgets Example
的例子可以帮助你,关键是你要将你的widget注册到qml中
int qmlRegisterType ( const char * uri, int versionMajor, int versionMinor, const char * qmlName )
  相关解决方案