View Full Version : QTabWidget, QTabBar, double-click the tabText
jcr
21st September 2006, 16:57
Hello,
I am using a QTabWidget and, once a tab has been selected, I would like a click or double-click on its tabText or tabIcon to trigger a certain function. Ideally, the click to select that tab in the first place would not trigger the function. Any idea on how to proceed? Thanks.
jacek
21st September 2006, 17:01
You could try to install an event filter on QTabBar.
jpn
21st September 2006, 19:40
Take a look at:
void QTabBar::mousePressEvent (QMouseEvent *e)
int QTabBarPrivate::indexAtPos(const QPoint &p) const
in src/gui/widgets/qtabbar.cpp.
elcuco
21st September 2006, 20:44
This is something I used in my code, feel free to use and abuse. It does not handle double click, but it gives you a direction to your problem.
void qmdiTabBar::mousePressEvent ( QMouseEvent * event )
{
if (event->button() == Qt::MidButton)
{
int tabCount = count();
for( int i=0; i<tabCount; i++ )
{
if (tabRect(i).contains(event->pos()))
{
emit middleMousePressed(i, event->pos());
break;
}
}
}
else if (event->button() == Qt::RightButton)
{
int tabCount = count();
for( int i=0; i<tabCount; i++ )
{
if (tabRect(i).contains(event->pos()))
{
emit rightMousePressed(i, event->pos());
break;
}
}
}
QTabBar::mousePressEvent(event);
}
Powered by vBulletin® Version 4.2.5 Copyright © 2024 vBulletin Solutions Inc. All rights reserved.