I have a treeWidget which displays the items as buttons when hover over them. I use a custom class derived from QStyledItemDelegate to do that.
The problem is that I also need the functionality of doubleClick on an item. SlotItemPressed() never gets called the way it is now. Is there a possibility to do both?
{
Q_OBJECT
public:
MyTreeWidget
(QWidget *parent
= NULL);
~MyTreeWidget() {}
public slots:
{
qDebug() << "slotItemPressed\n";
}
};
class MyTreeWidget : public QTreeWidget
{
Q_OBJECT
public:
MyTreeWidget(QWidget *parent = NULL);
~MyTreeWidget() {}
void mouseMoveEvent(QMouseEvent *event);
public slots:
void SlotItemPressed(QTreeWidgetItem *item, int index)
{
qDebug() << "slotItemPressed\n";
}
};
To copy to clipboard, switch view to plain text mode
Here is the implementation MyTreeWidget.cpp
{
setMouseTracking(true);
}
{
setCurrentIndex( indexAt(event->pos()));
}
MyTreeWidget::MyTreeWidget(QWidget *parent) : QTreeWidget(parent)
{
connect( this, SIGNAL( itemDoubleClicked( QTreeWidgetItem*, int ) ),
this, SLOT( SlotItemPressed( QTreeWidgetItem*, int ) ) );
setMouseTracking(true);
setEditTriggers(QAbstractItemView::CurrentChanged);
}
void MyTreeWidget::mouseMoveEvent(QMouseEvent *event)
{
QTreeWidget::mouseMoveEvent(event);
setCurrentIndex( indexAt(event->pos()));
}
To copy to clipboard, switch view to plain text mode
Bookmarks