Qt 如何使用QML屏幕元素
我想使用此处描述的QML screen元素的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,我不知道这是什么意思。如果有人能帮我解决这个愚蠢的问题,
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文件