簡體   English   中英

自定義 Qt QGraphicsItem 工具提示

[英]Custom Qt QGraphicsItem tooltip

我正在尋找一些方法來為QGraphicsItem實現一個簡單的自定義工具提示。

我知道我可以使用setToolTip來設置工具提示的文本。 現在我想要的是當鼠標懸停在QGraphicsItem對象的不同部分時動態更改文本。

我想做的是當我收到一個事件QEvent::ToolTip ,我會更改該事件處理程序中的工具提示文本。 但是,我找不到為QGraphicsItem接收QEvent::ToolTip的事件函數。

或者是否有一些方法可以處理鼠標懸停 2 秒的事件。

我怎樣才能做到?

您可以在派生的QGraphicsItem類中實現hoverMoveEvent ,並根據圖形項中的位置設置工具提示

void MyItem::hoverMoveEvent(QGraphicsSceneHoverEvent* event)
{
    QPointF p = event->pos(); 
    // use p.x() and p.y() to set the tooltip accrdingly, for example:
    if (p.y() < height()/2)
        setTooltip("Upper Half");
    else
        setTooltip("Bottom Half");
}

請注意,您必須為您的項目 啟用懸停事件

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM