读书人

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

发布时间: 2012-10-21 09:00:07 作者: rapoo

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

读书人网 >QT开发

热点推荐