首页| 论坛| 消息

标题:QWidget怎么设置QQuickView为父窗口(QT 5.2.1)
作者:zhangyi123
日期:2018-03-22 16:32
内容:

我的需求是在一个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顺利显示透明?


#1 [maxlogo 03-22 16:57]
正确的做法是使用QQuickWidget包装qml
不过看了一下题目,你的qt是5.2...
#2 回 maxlogo 的帖子 [zhangyi123 03-22 17:08]
maxlogo:正确的做法是使用QQuickWidget包装qml
不过看了一下题目,你的qt是5.2... (2018-03-22 16:57) 
是啊,一开始我想的是将QQuickView嵌入QWidget,但是我发现这个承载QQuickView的QWidget总是会把界面上的其他控件给遮挡住

回复 发表
主题 版块