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 ...