专心游戏的基本QML布局

时间:2019-03-12 10:23:00

标签: c++ qml qt-quick

我正在尝试通过将记忆游戏创建为多人游戏应用程序来提高QML技能。 (也称为Concentration)。 我已经创建了c ++类,例如Player,Game和Card。 Game类包含一个纸牌向量(QVector > m_field;)的向量,该向量表示所有纸牌的字段。使用“ qmlRegisterSingletonType(..)”将Game类作为单例类型注册到QML引擎。

目前,我正在使用中继器创建UI,如下面的代码所示。 有没有更方便的方法来创建这样的UI?我可以以某种方式将c ++类Card的实例附加到Card的QML实例吗?

import QtQuick 2.11
import QtQuick.Window 2.11
import de.memory.game_instance 1.0

Window {
    id: root
    visible: true
    width: 450
    height: 700
    title: qsTr("Memory Game")

    Column {
        id: col
        Repeater {
            id: rows
            model: Constants.GAME_FIELD_HEIGHT
            delegate: Row {
                property int row_idx: modelData
                Repeater {
                    id: cells
                    model: Constants.GAME_FIELD_WIDTH
                    delegate: Card {
                        height: root.height / Constants.GAME_FIELD_HEIGHT
                        width: root.width / Constants.GAME_FIELD_WIDTH
                        img_source: Game.getImageAt(row_idx, modelData);
                        img_shown: false
                    }
                }
            }
        }
    }
}

0 个答案:

没有答案