問題が発生しました: 現在の日付の日番号を表示するウィジェットを作成しています。それはボタンのようですが、それはQPushButton
クラスから派生したものではありません。ちょうどQWidget
から。だから私はenterEvent()
、leaveEvent()
、mousePressEvent()
、mouseReleaseEvent()
を再実装しました。これらのメソッド内でupdate()
と呼び、ウィジェットは現実的なボタン動作をします(paintEvent()
も再実装されています)。しかし、私はシステムの日付を変更し、他のウィンドウでそのウィジェットをホバーすると、私のウィジェットはpaintEvent()
を呼び出して、古い日付を表示しません。私がマウスの上にマウスを置いたときだけ、ウィジェットは内容を再描画します。私は不要なペイントイベントを避けるためにホバーイベントの古い内容をペイントするオプションがあると思います。しかし、私はそれを無効にする必要があります。多くの属性を設定しようとしました(Qt::WidgetAttribute
列挙型)。しかし、それは役に立たない。QWidget :: paintEvent()が他のウィンドウにホバリングされたときに強制的に呼び出す方法は?
私を助けてください(私の悪い英語のために申し訳ありません)。
可能性がさらに高いです。しかし、それを作る方法は考えていない –