• 3276阅读
  • 2回复

QWidget怎么设置QQuickView为父窗口(QT 5.2.1) [复制链接]

上一主题 下一主题
离线zhangyi123
 

只看楼主 倒序阅读 楼主  发表于: 2018-03-22
我的需求是在一个QQuickView上嵌入一个QWidget,而且要保持QWidget背景透明,代码如下:

QQuickView *viewer;
    viewer=new QQuickView(QUrl::fromLocalFile("main.qml"));
    viewer->setResizeMode(QQuickView::SizeRootObjectToView);
    viewer->setFlags(Qt::Window|Qt::FramelessWindowHint);
    viewer->setGeometry(150,150,400,400);
    viewer->show();

   QLabel *widget=new QLabel;
   widget->setAttribute(Qt::WA_NativeWindow,true);
   widget->setAutoFillBackground(false);
   widget->setWindowFlags(Qt::FramelessWindowHint);

   widget->setGeometry(120,120,50,50);
   widget->windowHandle()->create();
   widget->windowHandle()->setParent(viewer);
   widget->show();
发现这个widget的背景是黑色的,说明没有设置成功父窗口,请问各位大神有什么办法能让widget顺利显示透明?
离线maxlogo

只看该作者 1楼 发表于: 2018-03-22
正确的做法是使用QQuickWidget包装qml
不过看了一下题目,你的qt是5.2...
个人博客:
简书:https://www.jianshu.com/u/14fa805306bd
CSDN:https://blog.csdn.net/qq10097355
思否:https://segmentfault.com/u/lowbees/articles
离线zhangyi123

只看该作者 2楼 发表于: 2018-03-22
回 maxlogo 的帖子
maxlogo:正确的做法是使用QQuickWidget包装qml
不过看了一下题目,你的qt是5.2... (2018-03-22 16:57) 

是啊,一开始我想的是将QQuickView嵌入QWidget,但是我发现这个承载QQuickView的QWidget总是会把界面上的其他控件给遮挡住
快速回复
限100 字节
 
上一个 下一个