Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt4 使用QML的全屏桌面应用程序_Qt4_Fullscreen_Qml - Fatal编程技术网

Qt4 使用QML的全屏桌面应用程序

Qt4 使用QML的全屏桌面应用程序,qt4,fullscreen,qml,Qt4,Fullscreen,Qml,我有使用flex和AS3开发丰富用户界面应用程序的经验。然而,问题是,它很难使用现有的C++业务逻辑与这些Flex应用程序。随着QML的出现,我很好奇,是否有可能重用QC++的业务逻辑,并使用Qt来实现富UI应用程序。p> 我想知道是否有可能为桌面开发全屏幕富用户界面应用程序(尤其是在移动设备中越来越常见)。例如()Adobe有Flash Player,可以在全屏模式下使用,并运行以AS3编写的内容。是否可以使用QT/QML编写类似的应用程序?QT有 要全屏运行,请执行以下操作: $ qmlvi

我有使用flex和AS3开发丰富用户界面应用程序的经验。然而,问题是,它很难使用现有的C++业务逻辑与这些Flex应用程序。随着QML的出现,我很好奇,是否有可能重用QC++的业务逻辑,并使用Qt来实现富UI应用程序。p> 我想知道是否有可能为桌面开发全屏幕富用户界面应用程序(尤其是在移动设备中越来越常见)。例如()Adobe有Flash Player,可以在全屏模式下使用,并运行以AS3编写的内容。是否可以使用QT/QML编写类似的应用程序?

QT有

要全屏运行,请执行以下操作:

$ qmlviewer -fullscreen -frameless file.qml
此外,还可以使用QML创建全屏应用程序。
对于桌面小部件。

< P>如果你想使用C++上写的业务逻辑和一些QML用户界面,你可以在应用程序内部使用<代码> QualQualVIEVIEW/COD>。它只是一个常规的Qt小部件,所以它有方法
showFullScreen()
。实际上,这个类类似于“应用程序内部的qmlviewer”

你会得到这样的结果:

#include <QtGui/QApplication>
#include <QtDeclarative/QDeclarativeView>
#include <QtCore/QUrl>

int main(int _argc, char * _argv[])
{
    QApplication app(_argc, _argv);

    QDeclarativeView view;
    view.setSource(QUrl("qrc:/MyGui.qml"));    // if your QML files are inside 
                                               // application resources

    view.showFullScreen();    // here we show our view in fullscreen

    return app.exec();
}
#包括
#包括
#包括
int main(int _argc,char*_argv[])
{
QApplication应用程序(_argc,_argv);
QDEcrativeView视图;
view.setSource(QUrl(“qrc:/MyGui.qml”);//如果qml文件在其中
//应用程序资源
view.showFullScreen();//这里我们以全屏显示视图
返回app.exec();
}

您可以找到更多信息。

全屏显示也只有QML才能实现。 如果您使用的不是QDeclarativeView,而是QQmlApplicationEngine,则可以使用此选项,因为后者不继承QWidget,也没有showFullScreen()方法


但重要的是使用ApplicationWindow作为根元素,而不是矩形。对于Apple Windows,你必须导入QtQuff.Field.

< P>当在C++中使用QQML Apple Tebug引擎时,你可以在QML中这样做:

main.cpp

#include <QApplication>
#include <QQmlApplicationEngine>
#include <QQmlContext>

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);

    QQmlApplicationEngine engine;
    engine.load(QUrl(QStringLiteral("qrc:/main.qml")));

    return app.exec();
}

使用QT5.8测试,这里是与先前答案的另一个变体,但它使用(默认Qt快速应用程序-空)窗口QML类型和Qt枚举:

import QtQuick 2.6
import QtQuick.Window 2.2

Window {
    id: mainWindow
    objectName: "mainWindow"
    visible: true
    flags: Qt.FramelessWindowHint | Qt.Window
    color: "black"
    visibility: Qt.WindowFullScreen // << the solution
}
导入QtQuick 2.6
导入QtQuick.Window 2.2
窗口{
id:主窗口
对象名称:“主窗口”
可见:正确
标志:Qt.FramelessWindowHint | Qt.Window
颜色:“黑色”

可见性:Qt.WindowFullScreen//我登录到+1。我在互联网上搜索了一个示例,了解如何将QML文件加载到Qt应用程序中,花了大约20分钟,直到我碰巧发现了这个示例。也许我需要学习如何更好地使用Google。无论如何,非常感谢!对我来说效果很好,但请注意,有一个bug会导致fullsScreen QtQuick
MenuBar
s无法正常工作(至少在Windows上)。要使用最大化的窗口,可以使用:
height:Screen.height;width:Screen.width
还有可用的枚举,而不是那些字符串,
window.FullScreen
等。在Qt 5.11中,这也与从属性读回的值相匹配(也就是说,不要尝试将“窗口化”作为一个值进行测试,这永远不会发生)实际上我需要那个tut,但我无法访问它。请问链接有问题吗?Meego wiki看起来死了。尝试在那里找到一些东西
import QtQuick 2.7
import QtQuick.Window 2.2

Window {
    id: mainWindow

    Component.onCompleted: {
        mainWindow.showFullScreen();
    }
}
import QtQuick 2.6
import QtQuick.Window 2.2

Window {
    id: mainWindow
    objectName: "mainWindow"
    visible: true
    flags: Qt.FramelessWindowHint | Qt.Window
    color: "black"
    visibility: Qt.WindowFullScreen // << the solution
}