Hi,
I tried installing event filter on horizontal header for QTable.
Something like this...
class MyTable : public QTable
{
public:
MyTable
(QWidget* parent,
const char* name
);
}
MyTable
::MyTable(QWidget* parent,
const char* name
):QTable
(parent,name
){
horizontalHeader ()->installEventFilter(this);
}
{
if (pTarget == horizontalHeader())
{
if (pEvent
->type
() == QEvent::MouseButtonRelease) {
if (pMouseEvent->button() == Qt::RightButton)
{
qWarning(" vertical header right clicked!! ");
// do something
}
}
}
return QObject::eventFilter(pTarget, pEvent
);
}
class MyTable : public QTable
{
public:
MyTable(QWidget* parent, const char* name);
}
MyTable::MyTable(QWidget* parent, const char* name):QTable(parent,name)
{
horizontalHeader ()->installEventFilter(this);
}
bool MyTable::eventFilter(QObject *pTarget, QEvent *pEvent)
{
if (pTarget == horizontalHeader())
{
if (pEvent->type() == QEvent::MouseButtonRelease)
{
QMouseEvent *pMouseEvent = (QMouseEvent *)pEvent;
if (pMouseEvent->button() == Qt::RightButton)
{
qWarning(" vertical header right clicked!! ");
// do something
}
}
}
return QObject::eventFilter(pTarget, pEvent);
}
To copy to clipboard, switch view to plain text mode
When i righclick on horizontal header of my table, it is getting caught!. But, my table is not displaying any information ( data in cells ) that it used to before installing event filter on
horizontal header
Some light please!
Bookmarks