c++ - 集中游戏的基本 QML 布局
问题描述
我正在尝试通过将记忆游戏创建为多人应用程序来提高我的 QML 技能。(也称为浓度)。我已经创建了 C++ 类,例如 Player、Game 和 Card。Game 类包含一个卡片向量的向量 (QVector< QVector< Card*>> m_field;),它表示所有卡片的字段。Game 类使用“qmlRegisterSingletonType(..)”作为单例类型注册到 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
}
}
}
}
}
}
解决方案
推荐阅读
- python-2.7 - pip 安装了非指定的 generator_tools 包并触发了 `AssertionError: Python version 2.5 or 2.6 required` 错误
- javascript - 关于 getElementById 的说明
- python - 循环嵌套中的python isinstance
- jquery - 如何在 PC 屏幕上显示 8 个视频,在移动屏幕上显示 4 个视频
- python - ModuleNotFoundError:没有名为“sklearn.linear_model._base”的模块
- javascript - 如何从 Angular 的浏览器控制台中选择选项值?
- android - 如何在 Android 应用程序中使用 branch.io 深层链接添加朋友
- javascript - D3中是否有“轴相等”?
- python - 带有 TimedRotatingFileHandler 的 Django 日志记录模块在重新启动后记录到默认日志文件
- mysql - 如果您的列名是 abc_data.(此处为点),如何插入数据?