Próbuję utworzyć prosty interfejs Qt z bezramkowym oknem i zaokrąglonymi narożnikami. Począwszy od nowego projektu z QtQuick 2 Zastosowanie szablonu, mój kod wygląda następująco:Qt5 i QtQuick2 - przezroczyste okno główne
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();
}
}
}
I to wynik:
Co mam zrobić, to pozbyć się białych narożników, przez co okno główne stanie się przezroczyste. Jednak, o ile mogę powiedzieć, nie ma w Qt5 sposobu, aby to zrobić, ponieważ nie mamy arkuszy stylów itp. I nie używam QtWidget. Czy powinienem używać QtWidget?
Przy okazji, jestem nowy w Qt i Qt5.
Wygląda na to, że można rozwiązać ten problem w 5.1, tworząc widget jako okno kontenera za pomocą 'QWidget :: createWindowContainer()'. Zobacz [raport o błędzie] (https://bugreports.qt-project.org/browse/QTBUG-25643) i [commit] (https://codereview.qt-project.org/#change,44285). Zamierzam spróbować skompilować 5.1 ze źródła i sprawdzić, czy mogę go uruchomić. – andrewrjones
Poinformujmy, proszę, proszę –
@andrewrjones Możesz odpowiedzieć i zaakceptować własne pytanie. –