我想在窗口中嵌入一个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似乎没问题。