Интерактивная сетка на Qt/C++
Создаю приложение на Qt Creator, которое ищет минимальный путь между двумя заданными точками на карте. Карта представляет собой набор клеток (пусть будет 10*10 клеток), в каждой из которых может быть свой вид местности, который влияет на скорость прохождения через данную клетку.
Должна быть возможность редактирования карты с помощью GUI, поэтому решил делать ее примерно так: При открытии приложения задается размер карты (n), после чего выводится сетка с пустыми (или заполненными значениями по умолчанию) клетками (n*n клеток). Справа от сетки есть набор кнопок со всеми возможными типами местности. Редактирование сетки происходит так - нажимаем на интересующую нас клетку, а затем выбираем из правого меню нужный тип местности, после тип местности в клетке меняется на выбранный нами в меню (под изменением типа местности подразумеваю изменение некого численного параметра в соответствующем элементе матрицы, хранящей информацию обо всех клетках карты и изменение графического отображения клетки (картинка равнины поменялась на картинку горы, например)). Примерно таким образом мы сможем задать интересующую нас карту.
Основной вопрос: Как в QT сделать эту самую сетку, в которой клетки могут:
- быть привязанными к матрице(массиву)(а может вообще какому-либо другому формату данных, если вы знаете более подходящий), содержащей данные об этих клетках
- быть "кликабельными" и редактируемыми с помощью GUI
- отображать свое состояние в режиме реального времени.
PS: Я очень мало знаком с Qt, поэтому, возможно, мой вопрос может выглядеть слишком размытым и неточным.