Qt QML之不顯示標題欄、邊框
阿新 • • 發佈:2019-02-20
我使用的Qt版本是Qt 5.3.0,Qt Creator 是3.1.1.
QML做介面實在太方便了,動畫效果很不錯。
建立一個Qt Quick應用程式:
.pro是工程檔案,.pri用來儲存標頭檔案,main.qml就是QML檔案了,main.cpp就不用說了。
看一下自動產生的main.cpp檔案:
#include <QGuiApplication> #include <QQmlApplicationEngine> int main(int argc, char *argv[]) { QGuiApplication app(argc, argv); QQmlApplicationEngine engine; engine.load(QUrl(QStringLiteral("qrc:///main.qml"))); return app.exec(); }
QQmlApplicationEngine 是繼承於QObject,因此不能夠在這裡使用setFlags()實現不顯示標題欄。
此時,再看下 main.qml,可以看到Window元件,在幫助文件中是這樣說的:
發現Windows有個flags屬性,型別是Qt::WindowFlags,這就是我們需要的。
現在可以修改main.qml中的程式碼:
效果,發現邊框沒了:import QtQuick 2.2 import QtQuick.Window 2.1 Window { visible: true width: 360 height: 360 flags:Qt.FramelessWindowHint //添加了這一句 MouseArea { anchors.fill: parent onClicked: { Qt.quit(); } } Text { text: qsTr("Hello World") anchors.centerIn: parent } }