Qt 如何使用QML屏幕元素

Qt 如何使用QML屏幕元素,qt,anchor,fullscreen,qml,screen-resolution,Qt,Anchor,Fullscreen,Qml,Screen Resolution,我想使用此处描述的QML screen元素的screen.height和screen.width属性:以便在可调整大小的Qt应用程序中使用锚定 奇怪的是,我找不到如何使用它。仅使用screen.height或screen.height会产生一个找不到变量的错误。文件中说: 屏幕作为名为screen的上下文属性公开。事实并非如此 可以在QML中实例化屏幕对象,但屏幕必须是 通过上下文属性访问 我想这也许可以解释我的问题,但因为我是新来的Qt,我不知道这是什么意思。如果有人能帮我解决这个愚蠢的问题,

我想使用此处描述的QML screen元素的
screen.height
screen.width
属性:以便在可调整大小的Qt应用程序中使用锚定

奇怪的是,我找不到如何使用它。仅使用
screen.height
screen.height
会产生一个找不到变量的错误。文件中说:

屏幕作为名为screen的上下文属性公开。事实并非如此 可以在QML中实例化屏幕对象,但屏幕必须是 通过上下文属性访问


我想这也许可以解释我的问题,但因为我是新来的Qt,我不知道这是什么意思。如果有人能帮我解决这个愚蠢的问题,请告诉我好吗?

我意识到使用set fullscreen会调整我的根对象的大小,所以在5个小时后重新编写我的应用程序,以使用相对于根对象的值

如果您使用的是Qt Creator 2.2.1,则使用
viewer.showFullScreen()main.cpp

在旧版本中,如果QmlApplicationViewer不是自动生成的,我使用了以下代码

QDesktopWidget *screen = QApplication::desktop();

QRect rect = screen->screenGeometry(-1);



int screenHeight = rect.height();

int screenWidth = rect.width();



delete screen;



QDeclarativeView *view = new QDeclarativeView;

if(screenHeight > screenWidth)

    view->setSource(QUrl("qrc:/StopWatchP.qml"));

else

    view->setSource(QUrl("qrc:/StopWatchL.qml"));



QObject *parentObject = qobject_cast<QGraphicsObject *> (view->rootObject());

parentObject->setProperty("width",screenWidth);

parentObject->setProperty("height",screenHeight);
QDesktopWidget*screen=QApplication::desktop();
QRect rect=屏幕->屏幕几何(-1);
int screenHeight=rect.height();
int screenWidth=rect.width();
删除屏幕;
QDeclarativeView*视图=新的QDeclarativeView;
如果(屏幕高度>屏幕宽度)
查看->设置源(qrl(“qrc:/StopWatchP.qml”);
其他的
查看->设置源(QUrl(“qrc:/StopWatchL.qml”);
QObject*parentObject=QObject_cast(视图->根对象());
parentObject->setProperty(“宽度”,屏幕宽度);
parentObject->setProperty(“高度”,屏幕高度);
其中,用于获取屏幕及其相应的大小

如果屏幕高度更高,那么我将加载为纵向模式设计的QML文件,或者加载为横向模式设计的QML文件