Sto cercando di creare un'interfaccia utente Qt semplice con una finestra senza cornice e angoli arrotondati. Partendo da un nuovo progetto con l'applicazione modello QtQuick 2, il mio codice è simile al seguente:Qt5 e QtQuick2 - finestra principale trasparente
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();
}
}
}
E questo è il risultato:
Quello che non voglio fare è eliminare gli angoli bianchi, rendendo trasparente la finestra principale. Tuttavia, per quanto posso dire, non c'è modo in Qt5 di farlo, perché non abbiamo fogli di stile, ecc. E non sto usando un QtWidget. Dovrei usare un QtWidget?
Btw, sono nuovo di Qt e Qt5.
Sembra che questo possa essere risolto in 5.1 creando un widget come finestra del contenitore usando 'QWidget :: createWindowContainer()'. Vedi la [segnalazione bug] (https://bugreports.qt-project.org/browse/QTBUG-25643) e [commit] (https://codereview.qt-project.org/#change,44285). Proverò a compilare 5.1 dalla fonte e vedere se riesco a farlo funzionare. – andrewrjones
Facciamo sapere per favore –
@andrewrjones Puoi rispondere e accettare la tua stessa domanda. –