https://en.wikipedia.org/wiki/Dependency_inversion_principle

Basically what you are doing is evil.

You should connect m_tree_view->selectionModel()'s currentIndexChanged() signal with a slot that calls setHeaderData in the model. that's all