我将尝试创建一个简单的QML应用程序。QML文件非常简单:
import QtQuick 2.2
import QtQuick.Window 2.1
Window {
id: root
objectName: "window"
visible: true
width: 800
height: 480
color: "#16FF16"
}
I'm using the following C++ code:
QApplication app(argc, argv);
QQmlApplicationEngine engine;
engine.load(QUrl("qrc:/qml/main.qml"));
QObject *topLevel = engine.rootObjects().value(0);
QQuickWindow *window = qobject_cast<QQuickWindow *>(topLevel);
//window->setFlags(Qt::Widget|Qt::FramelessWindowHint);
window->show();
return app.exec();
这显示了窗口并且背景颜色与预期略有些绿色。但是,一旦我取消注释以下行:
window->setFlags(Qt::Widget|Qt::FramelessWindowHint);
窗口现在总是显示为黑色!
我该如何设置无边框属性而不产生这些意外的副作用?