2015-06-20 49 views
0

我發現了一個文檔here,但它的理解太模糊了。誰能給我舉一些使用平鋪的例子Canvas如何使用QtQuick平鋪畫布?

UPDATE
現在瓷磚Canvas被標記爲過時的。我們應該不是使用它。

+0

你難道不明白是什麼呢? – cmannett85

+0

沒有例子。 –

+0

這個文檔非常糟糕,我同意。 – Mitch

回答

0

感謝米奇評論,我們知道瓷磚Canvas並不總是正常工作(請參閱here)。

如通過這個例子中的錯誤仍然出現在Qt的5.4.2:

import QtQuick 2.0 

Rectangle { 
    width: 400 
    height: 400 
    Flickable { 
     id: flick 
     anchors.fill: parent 
     contentWidth: 400 
     contentHeight: 40000 
    } 
    Canvas { 
     parent: flick 
     anchors.fill: parent 
     contextType: "2d" 
     canvasSize: Qt.size(flick.contentWidth, flick.contentHeight) 
     canvasWindow: Qt.rect(flick.contentX, flick.contentY, 
           flick.width, flick.height) 
     tileSize: Qt.size(20, 20) 
     renderStrategy: Canvas.Cooperative 
     onPaint: { 
      for (var y = region.y; y < region.y + region.height; 
       y += tileSize.height) { 
       for (var x = region.x; x < region.x + region.width; 
        x += tileSize.width) { 
        context.fillStyle = "black"; 
        context.fillRect(x, y, tileSize.width, tileSize.height); 
        context.fillStyle = "green"; 
        context.fillRect(x + 1, y + 1, tileSize.width - 2, 
            tileSize.height - 2); 
       } 
      } 
     } 
     onCanvasWindowChanged: requestPaint() 
    } 
}