2012-04-23 3 views
1

完了提案のためにQPlainTextEdit内に子としてQListWidgetがあります。親QWidgetから子QWidgetを表示する

提案リストはカーソルの下に表示され、行がほとんどいっぱいになると、リストウィジェットの一部がテキスト編集の境界で切り取られます。親ウィジェットの子ウィジェットを強制的に表示する可能性はありますか?

私が持っているアイデアは、テキストとリスト編集要素の "兄弟"を作ることです。 e。それらを同じ親に追加します。しかし、これは私のイベント処理メカニズムを必要とするでしょう(私はこれら2つの要素間の親子関係を想定しています)。

私はKatepart componentを学び、KateViewの直接の子であり、私はそれ(例えばケイトのテキストエディタ)を実行すると、リストが全体で示されKateCompletionWidget(提案を表示する)があるとして、これを達成するための方法が必要だと思いますテキスト編集枠。

答えて

1

残念ながら、子供が親のQWidget rectの外側にペイントする方法はありません。あなたの兄弟のアプローチは、この問題の一般的な解決策です。別のアプローチは、子供が描画したいものを親に通知することですが、ペイントイベントを再実装する必要があるため、これはもう少し高度なものになります。

0

今日私はおそらく実行可能な方法を見つけました。それはQListWidget要素のsetWindowFlags(Qt::ToolTip)メソッドに基づいています。しかし、位置とイベントの処理には若干の変更があります。

関連する問題