有没有办法为带有弹出模式==延迟弹出窗口的QToolButton配置弹出菜单延迟



我正在创建一个具有历史记录的应用程序,就像在网络浏览器中一样:带有弹出菜单的后退和前进按钮,该菜单在按住时显示。延迟弹出模式完全是为我的场景创建的,它有点工作。

问题是用于检测保留的延迟太短。虽然我在谷歌浏览器中使用后退按钮没有问题,但当我打算只需单击一下时,我的应用程序中弹出菜单就会定期弹出。

我想将延迟设置为更大的值将解决问题,但我找不到执行此操作的方法。文档说

The default delay is 600 ms; you can adjust it with setPopupDelay()

但这显然是错误或过时的信息,因为看不到 setPopupDelay。

有什么建议吗?

更新:尽管增加的延迟大大有助于弹出菜单仍然不时显示。我认为Qt中存在一个错误。

setPopupDelay

Qt 3使用。现在,您必须通过子类化QStyle或其子类之一并重新实现 QStyle::styleHint 方法来创建自己的样式。

int MyStyle::styleHint(StyleHint hint, const QStyleOption *option, const QWidget *widget, QStyleHintReturn *returnData) const
{
    if (hint == QStyle::SH_ToolButton_PopupDelay)
        return 1200;
    return QStyle::styleHint(hint, option, widget, returnData);
}

最新更新