QQuickWidget使无框和透明的QMainWindow完全消失

时间:2015-09-04 13:26:21

标签: qt qml

我想在窗口中嵌入一个quickwidget。但是如果我添加一个quickwidget作为它的孩子,窗口将变得完全不可见。我正在使用Qt5.4.0 / 5.4.2 + Windows10。这是片段:

#include <QApplication>
#include <QMainWindow>
#include <QQuickWidget>
#include <QPushButton>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    auto window = new QMainWindow;
    auto btn= new QPushButton("Can you see me?",window);    
    window->setWindowFlags(Qt::FramelessWindowHint|Qt::WindowStaysOnTopHint);
    window->setAttribute(Qt::WA_TranslucentBackground, true);

    //comment folloing code and everything will work fine.
    auto quick = new QQuickWidget(window);
    quick->setSource(QUrl("qrc:/main.qml"));
    quick->move(40,40);

    window->show();

    return a.exec();
}

编辑:我正在尝试创建没有父级的QQuickWidget。并使其看起来像嵌入小部件。

auto quick = new QQuickWidget();
quick->setWindowFlags(Qt::FramelessWindowHint|Qt::WindowStaysOnTopHint);
quick->setAttribute(Qt::WA_TranslucentBackground, true);
quick->setClearColor(Qt::transparent);

但是,有一个严重的问题。虽然这是透明的,但我无法点击其背景。我已经测试过可以点击QWidget的透明背景。

Edit2:重新启动计算机后,quickwidget再次变得不可见.WTF

Edit3:Qt5.5.0似乎没问题。

0 个答案:

没有答案