• 5494阅读
  • 2回复

请问如何重写QTableWidget的头? [复制链接]

上一主题 下一主题
离线ct-hunter
 
只看楼主 倒序阅读 楼主  发表于: 2010-08-25
— 本帖被 XChinux 执行加亮操作(2010-09-02) —
就是我想把QTableWidget的头的鼠标事件重写一下,但是不知道怎么去重新写。
现在我就是继承QHeaderView去写了鼠标事件,可是却不知道怎么建立一项一项的表头,只出现一块灰白……但是能响应鼠标事件。
离线ct-hunter
只看该作者 1楼 发表于: 2010-08-25
现在是通过
class MyTableHorizontalHeaderClass : public QHeaderView
{
public:
    MyTableHorizontalHeaderClass( Qt::Orientation orientation, QWidget *parent = 0);
    ~MyTableHorizontalHeaderClass();
protected:
     void mousePressEvent(QMouseEvent * e );
     void mouseMoveEvent ( QMouseEvent * e );
     void mouseReleaseEvent ( QMouseEvent * e );
    void mouseDoubleClickEvent( QMouseEvent * e );
};
重写了我在QT Designer中建好的QTableWidget中的头的鼠标事件了,可是我在处理完我自己的鼠标事件之后,让它还能继续响应原本应该有的鼠标消息怎么做应该?
我以前是这样做的:
void MyTableClass::mousePressEvent(QMouseEvent * e )
{
         if (e->button() ==Qt::LeftButton)
         {
            PressOrnot = true;
            CurCol = currentColumn();
         }
        QTableWidget::mousePressEvent(e);   //再将鼠标事件e传给QTableWidget,即恢复该鼠标事件原本的功能。
}
可是在上面这个例子中却无法实现,不知道是为什么?……请高手指教。
离线ct-hunter
只看该作者 2楼 发表于: 2010-08-25
有没有哪位高人有点想法啊?……
快速回复
限100 字节
 
上一个 下一个