首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > QT开发 >

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

2012-10-21 
请问如何把一个QWidget对象,丢到QML端显示?如题哈。有个前提是我这个QWidget对象已经是在内存里的了。比如我

请问如何把一个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 )

热点排行