3

QLineEdit にツールチップを次のように設定できることがわかりました。

equation = new QLineEdit();
equation->setToolTip("Example: a*b+c+~c");

ただし、その QLineEdit がフォーカスされたときにツールチップが表示されるようにしたいと思います。それ、どうやったら出来るの?

前もって感謝します。

4

2 に答える 2

1

QLineEditをサブクラス化し、focusInEvent(...)をオーバーライドすることで、これを実現できました。

void EquationEditor::focusInEvent(QFocusEvent *e)
{
    QHelpEvent *event = new QHelpEvent(QEvent::ToolTip,
                                       QPoint(this->pos().x(), this->pos().y()),
                                       QPoint(QCursor::pos().x(), QCursor::pos().y()));  

    QApplication::postEvent(this, event);

    QLineEdit::focusInEvent(e);
}
于 2010-03-09T18:19:58.913 に答える
0

次の例をご覧になることをお勧めします:ツール ヒントの例

おそらくこの信号に接続することで、LineEdit がフォーカスを取得しているときにツールチップを表示できます。

void QApplication::focusChanged ( QWidget * old, QWidget * now )   [signal]

ここには、フォーカスに関するいくつかのかなりきちんとした情報もあります: QFocusEvent クラスリファレンス

それが少し役立つことを願っています!

于 2010-03-02T18:40:51.887 に答える