import QtQuick import QtQuick.Controls import QtQuick.Layouts ApplicationWindow { width: 750 height: 650 visible: true title: qsTr("Solitare") color: "green" ScoreBar { id: scoreBar height: 50 anchors.top: parent.top anchors.left: parent.left anchors.right: parent.right } // Show the foundation piles, throwaway pile & the draw stack on the first row Item { id: firstRow height: 120 anchors.top: scoreBar.bottom anchors.left: parent.left anchors.right: parent.right Item { anchors.fill: parent anchors.margins: 10 // Left row (with the foundation piles) Row { spacing: 15 anchors.left: parent.left Repeater { model: 4 // Each of the 4 suits CardModel { required property int index; // passed from repeater card: GameState.foundation[index].length > 0 ? GameState.foundation[index][0] : null isFaceDown: false } } } // Spacer to push the second row to the right Item { Layout.fillWidth: true } // Right row (with throwaway and draw piles) Row { spacing: 20 anchors.right: parent.right ThrowawayPile {} // Draw pile (only the top card is shown) CardModel { card: GameState.drawPile.length > 0 ? GameState.drawPile[GameState.drawPile.length - 1] : null isFaceDown: GameState.drawPile.length > 0 ? true : false onClicked: { GameState.drawNextCard() } } } } } Tableau { anchors.top: firstRow.bottom anchors.horizontalCenter: parent.horizontalCenter anchors.topMargin: 50 } }