2012-02-08 68 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));