我正在使用QTableView,我想在表格单元格上隐藏鼠标指针,鼠标指针应该在标题和滚动条上可见,为此我使用mouseEnter和mouseLeave事件和鼠标移动来显示/隐藏鼠标指针。
但问题是当鼠标指针从表数据单元移动到表外时,当鼠标指针到达滚动条时,它是不可见的,因为当鼠标指针在滚动条上时我没有得到mouseLeave事件,而且那个时候QTableView中没有鼠标移动事件。
任何人都可以帮助实现仅隐藏在表格单元格上的鼠标指针,并且应该在标题和滚动条上可见吗?
答案 0 :(得分:1)
QTableView是一个复合小部件,它继承自QAbstractScrollArea,其中包含一个QScrollBar小部件。你所需要的就是为QScrollB提供子类,并为它重新实现mouseEnter和mouseLeave,就像你为QTableView所做的那样。 之后你称之为: QTableView :: setVerticalScrollBar(QScrollBar * scrollBar);
e.g。
class MyScroll : public QScrollBar {
// ...
}
my_table_view->setVerticalScrollBar( new MyScroll(my_table_view) );