[英]How to query and change the time it takes for a QToolTip to appear?
您必須設置一個覆蓋styleHint()
的自定義QProxyStyle
,並返回QStyle::SH_ToolTip_WakeUpDelay
首選值。 示例代碼如下。
class CustomStyle : public QProxyStyle
{
Q_OBJECT
public:
...
int styleHint(StyleHint hint, const QStyleOption *option = Q_NULLPTR, const QWidget *widget = Q_NULLPTR, QStyleHintReturn *returnData = Q_NULLPTR) const Q_DECL_OVERRIDE {
if (hint == SH_ToolTip_WakeUpDelay)
return someCustomValue;
else
return baseStyle()->styleHint(hint, option, widget, returnData);
}
}
顯然,使用內置的Qt工具提示是不可能的。 在4.8 qapplication.cpp
他們使用幻數:
d->toolTipWakeUp.start(d->toolTipFallAsleep.isActive()?20:700, this);
因此,默認行為是在700 ms后顯示工具提示,並啟動一個2000 ms的睡眠計時器。 如果我們將鼠標懸停在另一個窗口(窗口小部件)上並且睡眠計時器仍處於活動狀態,則延遲將減少到20毫秒,可能假設第一個工具提示不是用戶想要的那個。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.