2017-09-08 12 views
0

私はQt 5.9.1アプリケーションで高解像度のDPIディスプレイをサポートする必要があり、アプリケーションで使用するQIconを拡大縮小するソリューションを探しています。QIcon with SVGが黒く表示されます

私は現在、唯一のWindows 7および10に

をターゲットにしていますこれまでのところ、非高DPIディスプレイ(Windows 7の)のために、私は、異なる解像度で表示されるアイコンのための.icoファイルを使用していました。

単一の解像度でのみ使用される場合は、.pngファイルとしていくつかのアイコンもあります。

高いDPIディスプレイでは、Windows 10では、ユーザーがアプリケーションを拡大/縮小する倍率を適用すると、アイコンは拡大されてもぼやけてしまいます。

「@ 2x」という接尾辞を持つ高解像度のpngファイルの追加をテストしましたが、スケーリングによってアイコンがぼやけました。

これを見ると、スケールする必要がある.svgファイルを使用しようと思っていましたが、QIconで使用すると黒く表示されます。この投稿は、QIconsでは「塗りつぶし」の色がサポートされていないことを暗示しています。Qt support for coloring SVG in a QIcon

誰でもQIconsで動作する.svgファイルを取得できましたか?高DPIディスプレイをサポートするために.svgを使用して正しいトラックにいても、鮮明なアイコンが表示されますか?もしそうでなければ、そこにいる人々はどのような取り組みをしていますか?

+0

'setIcon(QPixmapのを( "..."))'してみてください。 afaikは 'QIcon'を使った' setIcon'の実装と 'QPixmap'のものとは異なります...私はその問題について読んだと思います – Robert

答えて

0

これは私のプロジェクトからのコードの一部です:

UI-> pushButtonIcon-> setIcon(QIcon( ":/ simplebrowser.svg"));

* .svg画像をQPushButton()に設定しています。イメージはプロジェクトの私のリソースに追加されます。

enter image description here

+0

私はそれを行うとアイコンが黒く表示されます。どのバージョンのQtを使用していますか?私はそれを試すことができるようにここにあなたのSVGを投稿できますか? – JPh

+0

私はQt5.8を使用しています。画像はhttps://drive.google.com/open?id=0B7c_-N_LaeQid1QtV0dBa2RtQkUです。間違いなくあなたはQWidgetを持っていますか? –

関連する問題