【发布时间】:2013-02-08 20:07:33
【问题描述】:
我正在尝试创建一个带有无框窗口和圆角的简单 Qt UI。从具有 QtQuick 2 Application 模板的新项目开始,我的代码如下所示:
main.cpp
#include <QtGui/QGuiApplication>
#include "qtquick2applicationviewer.h"
int main(int argc, char *argv[])
{
QGuiApplication app(argc, argv);
QtQuick2ApplicationViewer viewer;
viewer.setMainQmlFile(QStringLiteral("qml/qtquick-test/main.qml"));
viewer.setFlags(Qt::FramelessWindowHint);
viewer.showExpanded();
return app.exec();
}
main.qml
import QtQuick 2.0
Rectangle {
width: 360
height: 360
radius: 10
color: "red"
Text {
text: qsTr("Hello World")
anchors.centerIn: parent
}
MouseArea {
anchors.fill: parent
onClicked: {
Qt.quit();
}
}
}
结果如下:
我不想做的是通过使主窗口透明来摆脱白色角落。但是,据我所知,Qt5 中没有办法做到这一点,因为我们没有样式表等,而且我没有使用 QtWidget。我应该使用 QtWidget 吗?
顺便说一句,我是 Qt 和 Qt5 的新手。
【问题讨论】:
-
看起来这可能在 5.1 中通过使用
QWidget::createWindowContainer()创建一个小部件作为容器窗口来解决。请参阅 bug report 和 commit。我将尝试从源代码编译 5.1,看看我是否可以让它工作。 -
@andrewrjones 您可以回答并接受您自己的问题。
-
@MottiStrom 从来没有找到答案,而是转而使用其他东西。