tictactoe.h Example File
taskmenuextension/tictactoe.h
#ifndef TICTACTOE_H
#define TICTACTOE_H
#include <QWidget>
class QRect;
class QSize;
class TicTacToe : public QWidget
{
Q_OBJECT
Q_PROPERTY(QString state READ state WRITE setState)
public:
explicit TicTacToe(QWidget *parent = nullptr);
QSize minimumSizeHint() const override;
QSize sizeHint() const override;
void setState(const QString &newState);
QString state() const;
void clearBoard();
protected:
void mousePressEvent(QMouseEvent *event) override;
void paintEvent(QPaintEvent *event) override;
private:
enum : char { Empty = '-', Cross = 'X', Nought = 'O' };
QRect cellRect(int row, int col) const;
int cellWidth() const { return width() / 3; }
int cellHeight() const { return height() / 3; }
QString myState;
int turnNumber = 0;
};
#endif