I have try to reload QWidget's paintEvent function to paint graphics, this method has been used successfully, however it is hard to realize hover functionality.
resolve conflict of .gitignore file