Научился: Повторил обработку нажатия клавиш keyPressEvent, работу с таймером QTimer, матрицами boost::ublas, очередью std::queue. Трудности: Остановиться в абстракции кода. В качестве структуры данных для хранения тела змеи использовал очередь.
Научился: Отличный урок. Попрактиковал ООП. Делал такую игру раньше, только использовал класс Rectangle и добавлял туда картинку и без использования панели.