それぞれ 5 枚のカードが 4 スロットあるカード ゲームを作成しています。ListView
各スロットを表すために使用しています。最初にコードを説明してから、私の問題を説明しましょう。
class ClientCard : public QObject
{
Q_OBJECT
int code; // card code
int location; // zone in which card is located
...
ClientCard* equipTarget;
QSet<ClientCard*> equipped;
...
};
class ClientCardModel : public QAbstractListModel
{
enum CardRoles {
CodeRole = Qt::UserRole + 1,
LocationRole
}
...
QList<ClientCard*> m_list;
};
ClientCardModel
コードと他のメンバーを QML に転送するためのClientCard
forと rolesのリストがあります。ListView
それぞれListView
をゾーン (zone1、zone2 など) で表します。ゲームでは、カードは他のゾーンの他のカードを装備できます。カードに装備されているカードは にQSet<> equipped
、カードを装備しているカードは に格納されequipTarget
ます。ゾーン内のカードにカーソルを合わせると、マウスがカード上に留まるまで、他のゾーンでそれを装備しているカードが画像を使用して強調表示されます。
どんなアイデアでも大歓迎です。