2012-02-08 19 views
2

QTableViewを使用していて、マウスポインタを表のセルに非表示にして、マウスポインタをヘッダーとスクロールバーに表示し、mouseEnterとmouseLeaveイベントとマウスを使用します。マウスポインタの表示/非表示の移動。QTableViewマウスポインターの表示/非表示tableviewスクロールバー

しかし、テーブルのデータセルからテーブルの外側にマウスポインタを移動すると、マウスポインタがスクロールバーに到達すると、マウスポインタがスクロールバー上にあるときにmouseLeaveイベントが表示されないため、表示されません。 QTableViewでマウス移動イベントが発生しないようにします。

誰でも、表のセルにマウスポインタを隠すことができますか?ヘッダーとスクロールバーに表示する必要がありますか?

答えて

1

QTableViewは複合ウィジェットであり、QScrollBarウィジェットを持つQAbstractScrollAreaから継承します。 QTableViewの場合と同様に、QScrollBarをサブクラス化して、mouseEnterとmouseLeaveを再実装するだけで済みます。 その後、これを呼び出します。 QTableView :: setVerticalScrollBar(QScrollBar * scrollBar);

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

my_table_view->setVerticalScrollBar(new MyScroll(my_table_view)); 
関連する問題