-1

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

助けてください(私の下手な英語でごめんなさい)。

4

1 に答える 1

0

システム時刻が変更されたことを検出し、それが発生したときに呼び出す方法を見つける必要があると思いますupdate()。他の方法 (ウィンドウの "ホバリング" の検出やマウス イベントの待機など) では、更新が遅すぎます。

于 2011-01-16T07:45:51.107 に答える