2011-11-15 38 views
1

我想要使用此處描述的QML屏幕元素的screen.heightscreen.width屬性:http://doc.qt.nokia.com/qt-components-symbian/qml-screen.html,以便我可以在可調整大小的Qt應用程序中使用錨點。如何使用QML屏幕元素

奇怪的是我找不到如何使用它。只需使用screen.heightScreen.height即可找到無法找到變量的錯誤。在本文檔中,它說:

的屏幕被公開爲一個名爲屏幕上下文屬性。它不是 可能在QML中實例化屏幕對象,但屏幕必須是 通過上下文屬性訪問。

我想這可能會解釋我的問題,但由於我是Qt新手,我不知道它的含義。如果有人可以幫我解決我的愚蠢問題嗎?

回答

2

我已經意識到使用set全屏調整我的根對象,所以在5個小時後重寫我的應用程序使用相對於根對象的值。

0

如果您使用的是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用於獲取屏幕,其相應的大小。

如果屏幕高度更高,那麼我將加載爲縱向模式設計的QML文件,否則將加載橫向模式。

相關問題