2012-02-08 784 views
2

我正在使用QTableView,我想隐藏鼠标指针在表单元格和鼠标指针应该是可见的标题和滚动条,并为此我使用mouseEnter和mouseLeave事件和鼠标运动来显示/隐藏鼠标指针。QTableView鼠标指针与tableview滚动条显示/隐藏问题

但问题是,当鼠标指针从表格数据单元格移动到表格外部时,当鼠标指针到达滚动条时,它不可见,因为我没有在鼠标指针位于滚动条上时获取表格上的mouseLeave事件,在QTableView中没有鼠标移动事件。

任何人都可以请帮助实现隐藏在表格单元格上的鼠标指针,并应在标题和滚动条上可见?

回答

1

QTableView是一个复合控件,它从QAbstractScrollArea继承,它有一个QScrollBar控件。您只需要为QScrollBar创建子类并为其重新实现mouseEnter和mouseLeave,就像您为QTableView所做的那样。 之后,你可以调用: QTableView :: setVerticalScrollBar(QScrollBar * scrollBar);

例如

class MyScroll : public QScrollBar { 
// ... 
} 

my_table_view->setVerticalScrollBar(new MyScroll(my_table_view));