TreeView columns are made of cell renderers, and cell renderers are not widgets by design—and only widgets can deal with events like button press/release, and enter/leave events. So, the short answer is: you cannot put a
GtkButton into a
What you can do is put an icon into a cell renderer, and then hack around a bit by connecting to the motion notification event on the tree view widget itself, and every time the pointer moves within it, you can check whether the pointer is on the “button” part of the column, and if so update the icon to emulate the “hover” state. This only works for simple, icon only buttons.
Looking at the issue you linked, I’d recommend moving away from a GtkTreeView widget, and use a GtkListBox widget instead, unless you plan on displaying 100s of rows.