• 6871阅读
  • 3回复

QQmlApplicationEngine 运行QML 如何让窗体没有边界 [复制链接]

上一主题 下一主题
离线yokaei
 

只看楼主 倒序阅读 楼主  发表于: 2014-11-25
Qwidget设置无边界的窗体一般用setWindowFlags(Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint),
请我QML开发的窗体,用QQmlApplicationEngine运行,如何才能设置无边界的窗体呢。
离线fghfghfgh

只看该作者 1楼 发表于: 2014-11-25
  1. #include <QGuiApplication>
  2. #include <QQmlApplicationEngine>
  3. #include <QQuickWindow>
  4. int main(int argc, char *argv[])
  5. {
  6.     QGuiApplication app(argc, argv);
  7.     QQmlApplicationEngine engine;
  8.     engine.load(QUrl("qrc:/main.qml"));
  9.     QObject *topLevel = engine.rootObjects().value(0);
  10.     QQuickWindow *window = qobject_cast<QQuickWindow *>(topLevel);
  11. window->setTitle("ddddddddddd");
  12. window->setFlags(Qt::FramelessWindowHint
  13.                  | Qt::WindowSystemMenuHint
  14.                  | Qt::WindowMinimizeButtonHint
  15.                  | Qt::Window);
  16.     window->show();
  17.     return app.exec();
  18. }


离线yokaei

只看该作者 2楼 发表于: 2014-11-26
回 fghfghfgh 的帖子
fghfghfgh:#include <QGuiApplication>
#include <QQmlApplicationEngine>
#include <QQuickWindow>
int main(int argc, char *argv[])
....... (2014-11-25 21:11) 

为什么要用QQuickWindow组件呢?
这个跟QQmlApplicationEngine什么关系
离线fghfghfgh

只看该作者 3楼 发表于: 2014-11-27
回 yokaei 的帖子
yokaei:
为什么要用QQuickWindow组件呢?
这个跟QQmlApplicationEngine什么关系

我也不太清楚, 不过我现在发现了一个直接在qml里面设置不显示边框的方法

如果你用的是

  1. import QtQuick 2.3
  2. import QtQuick.Controls 1.2
  3. import QtQuick.Window 2.2
  4. ApplicationWindow {
  5. id: window
  6.    flags:  Qt.FramelessWindowHint | Qt.Window
  7. }

ApplicationWindow  有个flags属性



快速回复
限100 字节
 
上一个 下一个