QT控件setToolTip后禁止显示ToolTip代码示例
一个widget设置一个不变的tooltip文本,当鼠标移上去时显示tooltip,只需调用widget的setToolTip()设置文本即可。有时我们设置了ToolTip,但并不需要显示,QT并没有直接的方法,需要在EVENT事件中自己判断并处理。
初始化:
ui->pushButton1->installEventFilter(this);
ui->pushButton2->installEventFilter(this);
ui->pushButton3->installEventFilter(this);
处理方法
Bool myWidget::eventFilter(QObject *obj, QEvent *event)
{
//不显示下面按钮的tooltip2020-6-12
if (obj->metaObject()->className() == QStringLiteral("QPushButton"))
{
if (event->type() == QEvent::ToolTip) {
QToolTip::hideText();
event->ignore();
return true; //不让事件继续传播
}else
{
return false;
}
}
return myWidget::eventFilter(obj, event);
}
备注:实战示例,解疑答惑。
--不间端地思考,实时地批判你的工作!