Nice example! It finely shows the easiness of programming in Qt.
But on the other hand it also shows some coding style, which should not be recommended. What I mean is a lack of code reuse. All these nine button press handlers are very similar and in fact should be implemented as one function with parameters. The problem is that a slot must have the same parameters as the connected signal. As the signal clicked() has none, neither has the corresponding slot. Qt hopefully provides some useful class to tackle this problem - QSignalMapper. Maybe it gives us an idea to write some Tic-Tac-Toe 2 (more advanced) example to show this.
This link shows How to Write a Tic Tac Toe game with QT Creator.
http://www.ehow.com/how_5177196_write-toe-game-qt-creator.html