请问如何把一个QWidget对象,丢到QML端显示?

圆圆胖胖的车车 2012-10-10 05:44:22
如题哈。

有个前提是我这个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();
}

谢谢各位了哈。
...全文
415 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
亥尚 2015-02-10
  • 打赏
  • 举报
回复
我现在的问题是想在QML中嵌入一个基于QWidget写好的类,应该怎么做呢,我是新手,直接没有方向啊
Karlsweet 2015-01-08
  • 打赏
  • 举报
回复
遇到同样的问题,我的QWidget中放的是osg Scene,嵌入qml后show有点问题
qyw1003 2013-09-25
  • 打赏
  • 举报
回复
还请版主帮忙!
qyw1003 2013-09-12
  • 打赏
  • 举报
回复
请问楼主问题是如何解决的,我现在也遇到同样的问题,不知该如何解决,请求支援
tt2com 2012-10-12
  • 打赏
  • 举报
回复
我没看明白,不知道我理解的对不对
如果QWidget你无法修改,那么在写个class封装QWidget,在导入QML,不知道这样行不行
  • 打赏
  • 举报
回复
嗯哪。这种是注册类型的嘛。注册了可以直接在qml那边写。。

但是。目前的困难是。。
我的QWidget是已经生成好了~~有没啥办法?





tt2com 2012-10-12
  • 打赏
  • 举报
回复
assistan中
Home > Examples > QML Examples & Demos > C++ Extensions: QWidgets Example
的例子可以帮助你,关键是你要将你的widget注册到qml中
int qmlRegisterType ( const char * uri, int versionMajor, int versionMinor, const char * qmlName )
  • 打赏
  • 举报
回复
help~~~
  • 打赏
  • 举报
回复
哦。。我突然想明白了。。我想要的是

已经有个QWidget 叫myWidget了。在内存里。
然后我已经有main.qml内容如下
Rectangle
{
width:400
height:400

Rectangle
{
width:50
height:50
id: rect1
}
Rectangle
{
width:50
height:50
x:50
y:50
id: rect2
}
}

如何把我的myWidget 放在rect2中。全部填满。并显示出来?
  • 打赏
  • 举报
回复
不好意思。补充下。

主要目的是想利用qml的布局和动画效果。

打算把一个QWidget 外面套个qml item的外衣。。。

16,818

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧