Я должен начать с того, что пытался посмотреть на эту проблему со всех POV. Я также спросил о freenode, и мне предложили кое-что, но в конце концов оказалось, что эти предложения могут не сработать.
Мне показалось, что те, кто вносит предложения, на самом деле не знают, как выглядит иерархия классов и концепций.
Как говорится, я годами не использовал Qt, поэтому, пожалуйста, потерпите меня.
То, что я хочу сделать, это графический элемент (QGraphicsWidget, ... Item, независимо от того, какой класс я не знаю, от чего он должен наследовать), который может находиться на декорациях QGraphicsScene.
Представьте, что вы хотите создать повторно используемый компонент для игр на основе сетки, например Линкор .
Новые объекты (например, линкор) в этом виджете могут быть представлены в виде битовых матриц и созданы / вставлены на лету.
Сами строительные блоки (заполненные QGraphicsRectItem или «пустые») внутри него должны управляться классом макета. По умолчанию может служить QGraphicsGridLayout, но он должен позволять подключать пользовательский макет. Это позволило бы новые 2D макеты, такие как изометрические.
Наличие макета внутри виджета также упростит разработку игры поверх этого виджета, так как у вас будут методы itemAt () и слои для организации объектов в «сетке».
И помните, сам виджет может находиться внутри пейзажа.
Итак, какие понятия (виджет сетки, блок сетки, макет сетки) должны наследоваться от каких классов qt4 (4.7.2)?
Примечание: уже выходящие из классов / фреймворков / что бы то ни было тоже в порядке, но имейте в виду, что я не хочу распределять библиотеки толще 3-4 Мб для пользователей Windows.