QWidgetの背景を変更するメニューを作成する必要があります。選択した色を表すQIconをQMenuに配置して、QMenuに入力するQActionsに配置したいと思います。私はPhotoshopを飛ばして、手動でアイコンをペイントする必要はありません。特定の色で塗りつぶされた簡単なアイコンをプログラムすることは可能ですか?こうすることで、必要に応じて任意の数のQActionを設定することができ、Photoshopでたくさんのアイコンを作成する必要はありません。 \Qtの単純な色の塗りつぶし
答えて
QPixmapからQIconを構築することができます。 QPixmapは与えられたサイズで構築され、次に 'fill'を使って色で塗りつぶされます。
例えば、赤100×100のアイコンを作成します。
QPixmap pixmap(100,100);
pixmap.fill(QColor("red"));
QIcon redIcon(pixmap);
は、他の色にアイコンから色を変更する方法を考え出しました。したがって、アイコンの画像は、一の単色で構成しなければならない(ここでは「黒」)(「赤」のような)別の色にピックスマップ、そのマスキング能力を使用して変換することができる。
pixmap = QPixmap(filename)
mask = pixmap.createMaskFromColor(QColor('black'), Qt.MaskOutColor)
pixmap.fill((QColor('red')))
pixmap.setMask(mask)
btNew = QToolButton()
btNew.setIcon(QIcon(pixmap))
クールですが、createMaskFromColor(QColor( 'transparent')、Qt.MaskInColor)は私のためにもっとうまく動作します – falkb
トピックにはC++でタグ付けされていますが、これは有効なC++コードではありません。それを編集したいと思いますが、私が知らない理由で査読者が拒否しました。 これに加えて、ソリューションはC++に移植した後に私のために働いていました。 – bns
私はあなたが正しいと思う - 質問がC++に関連していることを認識していませんでした - しかし、私はまたそれがすでに存在する答えを変更するつもりはないと思っています... あなたのコードが安定した - 私はそれを自分で受け入れることはできません。私はあなた自身に答えるべきだと思います!ヒントをありがとう。 – Henhuy
- 1. PyPNGで単純な塗りつぶしのボックスを描く
- 2. Enterprise Architectクラス塗りつぶしの色
- 3. ncursesウィンドウを色で塗りつぶし
- 4. Chart.js線、負の点の異なる塗りつぶしの色
- 5. Android - ビットマップを色で塗りつぶす
- 6. kivy:色でカスタムシェイプを塗りつぶす
- 7. 色で曲線を塗りつぶす
- 8. キャンバスに色を塗りつぶし、黒色にします
- 9. C#特定の色に色を塗りつぶすアルゴリズム
- 10. ggplotのgeom_point(scale_colour_manual)の塗りつぶしと境界線の色
- 11. Android:グラデーションの塗りつぶしの色で円弧を描く
- 12. 特定のイベントに別の色で塗りつぶしたい
- 13. CALayerの塗りつぶし色を変更する
- 14. 3方向色グラデーションの塗りつぶしr
- 15. MovieClipの塗りつぶし色を変更する3
- 16. テキストの色と塗りつぶしを変更するには
- 17. 塗りつぶし楕円
- 18. 塗りつぶしプログラム
- 19. 塗りつぶしマップ - java
- 20. フィールドを塗りつぶし
- 21. toolStripDropDownButtonを塗りつぶし
- 22. スプライングラフグラデーション塗りつぶし
- 23. itext塗りつぶしテーブル
- 24. ゼロで塗りつぶし
- 25. 動的な単位を塗りつぶすためのフォントサイズ
- 26. UIBezierPathの中の色を塗りつぶす方法は?
- 27. 特定の色のパスを塗りつぶす
- 28. D3角度の混乱:塗りつぶしの色が変わらない
- 29. 3つのランダムな色のグラデーションで画像を塗りつぶす方法は?
- 30. 画像の一部を色で塗りつぶす
これは充填します画像の透明部分のみ、右? QIconの透明部分を色で塗りつぶすことができますか? – SexyBeast
私は理解できません。このコードは、完全に新しいアイコンを作成します。 – cgmb