問題タブ [qpainterpath]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
72 参照

qt - QPushButton をクリックした後に QPainterPath の色を変更する方法

公式ドキュメントでも推奨されているメソッドQPushButtonを再実装できるように、 a をサブクラス化しました。paintEvent(QPaintEvent *paint)

以下は一連の操作です。

a) アプリケーションを起動すると、ボタンは次のようになります。

b

b) これは、カーソルを合わせた後のものです。

c

c) 次に、ボタンをクリックします。

b

d) そして最後にマウスを放します

d

e) ボタンから離れる

b

ただし、問題は、ボタンを放した後QPainterPath、緑色のボックスを設計したときに赤色になることです。もちろん、ボタンをもう一度クリックすると、再び緑色になるはずです。

コードの下:

custombutton.h

カスタムボタン.cpp

メインウィンドウ.h

メインウィンドウ.cpp

ご覧のとおり、クリックすると が赤くなると思われるMainWindow関数を作成しました。そして、それを行うために、オブジェクト (qobject_cast) にキャストしました。しかし、残念なことに、期待どおりに機能しませんでした。onClickedButton()QPainterPath