PDA

View Full Version : QTabWidget: how to close a tab by a click



YaK
1st December 2008, 17:03
Is there a way to close a tab by mouse?

spirit
1st December 2008, 17:36
try this code


MyTabWidget::MyTabWidget(QWidget *parent)
: QTabWidget(parent)
{
tabBar()->installEventFilter(this);
}

bool MyTabWidget::eventFilter(QObject *o, QEvent *e)
{
if (o == tabBar() && e->type() == QEvent::MouseButtonPress) {
QMouseEvent *mouseEvent = static_cast<QMouseEvent *>(e);
removeTab(tabBar()->tabAt(mouseEvent->pos()));
return true;
}
return QTabWidget::eventFilter(o, e);
}

YaK
1st December 2008, 17:53
tabAt(mouseEvent->pos()));


Спасибо, товарищ!

<tnank you, comrade>

spirit
1st December 2008, 18:10
пожалуйста
you're welcome. ;)