Time for action – Understanding the ChessView class

This is a chapter about doing graphics, so it is high time we focus on displaying our chess game. Our widget currently displays nothing, and our first task will be to show a chess board with rank and column symbols and fields colored appropriately.

By default, the widget does not have any proper size defined, and we will have to fix that by implementing sizeHint(). However, to be able to calculate the size, we have to decide how big a single field on the board will be. Therefore, in ChessView, you should declare a property containing the size of the field, as shown:

Q_PROPERTY(QSize fieldSize
           READ fieldSize WRITE setFieldSize
           NOTIFY fieldSizeChanged) 

To speed up coding, you can position ...

Get Game Programming using Qt 5 Beginner's Guide - Second Edition now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.