QT开发中文网

c++ QToolTip 设置显示时间不起作用

QToolTip 的显示时间可以通过 QToolTip::showText() 函数的第四个参数来设置,该参数表示提示框显示的时间长度(以毫秒为单位)。默认情况下,显示时间是 5000 毫秒(5 秒),如果你需要更改显示时间,可以将第四个参数设置为所需的毫秒数。

但有时候可能会发现设置了显示时间并没有起作用。这通常是因为在 QApplication 中禁用了 Qt 自带的提示框。可以通过以下代码检查当前是否禁用了提示框:

qDebug() << qApp->overrideCursor();

如果输出结果为 NULL 或者 nullptr,则说明提示框被禁用了。要启用提示框,可以使用以下代码:

qApp->setOverrideCursor(Qt::ArrowCursor);

这样就能够正确地设置 QToolTip 的显示时间了。例如:

#include <QtWidgets>

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);

    QPushButton button("Button");
    button.setToolTip("This is a button");

    // 确保提示框未被禁用
    if (!qApp->overrideCursor()) {
        qApp->setOverrideCursor(Qt::ArrowCursor);
    }

    // 设置 QToolTip 的显示时间为 3 秒
    QToolTip::showText(button.mapToGlobal(button.rect().bottomLeft()), "This is a tooltip", &button, QRect(), 3000);

    button.show();
    return app.exec();
}

运行后,可以看到按钮上出现一个提示框,并且自动消失。

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://qt.0voice.com/?id=2493

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?