「コマンドリンクボタン」(QCommandLinkButton
)を作成すると、比較的素敵な緑色の矢印アイコンが表示されます。
他にどのようなニースアイコンを選択できるかを確認したいと思います。アイコンを変更しようとすると、[Theme]
は、パスまたはいくつかのGUI選択ダイアログの代わりに表示されます。
コンテキストメニューにも気づきました。
テーマからアイコンを設定をクリックすると、再びGUI選択リストが表示されますが、テキストフィールドしか表示されません。
私が想像していたこと:
緑の矢印が描かれたアイコンのリストはどこにありますか?
それはあなたが使いたい機能ではないと思います。そこでの「テーマ」名は QIcon::fromTheme
機能。FDO仕様に従って名前が付けられたアイコンを使用します
また、独自のテーマファイルを展開しない限り、FDO以外のプラットフォーム(Windows、Macなど)では実際にはサポートされません。
現在someストックアイコンがQt自体に付属しています。それらをデザイナーから設定する方法はわかりませんが、コードから使用できます QStyle::standardIcon
:
widget->setIcon(widget->style()->standardIcon(QStyle::SP_BrowserReload));
必要なアイコンがQtから提供されていない場合は、出荷する必要があります。その場合、 Resource System は、実行可能ファイルと一緒にバンドルする便利な方法です。
最後に重要なことですが、UXの観点からは、Vistaのようなウィザードを実際に構築しているのでない限り、QToolButton
sの使用を検討する必要があります。
_QIcon::fromTheme
_は特定の条件下で機能します。
QIcon::themeSearchPaths()
のQIcon::themeName()
で見つけられる場合
必要なアイコンがそこにない場合、Qt Designerはアイコンという名前のfromテーマを実行できません。
しかし...ターゲットシステムでテーマ検索パスを確認し、テーマ名を設定すると、成功する可能性が高くなります。
Linuxでは、プラスとマイナスのアイコンを取得したかった。
_list-add.png
_と_list-remove.png
_が適切だとわかりました。
https://github.com/GNOME/adwaita-icon-theme/tree/master/Adwaita/16x16/actions
http://standards.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.htmlhttp://standards.freedesktop.org/icon-naming- spec/icon-naming-spec-latest.html
私は自分のシステムでロケートを行い、これらを見つけました:
_/usr/share/icons/gnome/16x16/actions/list-add.png
...
/usr/share/icons/gnome/32x32/actions/list-add.png
/usr/share/icons/gnome/scalable/actions/list-add.svg
/usr/share/icons/oxygen/16x16/actions/list-add.png
...
_
QIcon::fromTheme
_でfallback
アイコンを使用して強制ファイルシステムでアイコンを見つけます:
_ui->toolButton->setIcon(QIcon::fromTheme("list-add",
QIcon("/usr/share/icons/gnome/16x16/actions/list-add.png")));
_
Qtリソースシステムでアイコンを見つけます...ビルドのqrcファイルにアイコンを追加し、そのパスを参照します。
_ui->toolButton->setIcon(QIcon::fromTheme("list-add",
QIcon(":/list-add.png")));
_
_qDebug() << "themeSearchPaths:" << QIcon::themeSearchPaths() << QIcon::themeName();
// themeSearchPaths: ("/usr/local/share/icons", "/usr/share/icons", ":/icons") "hicolor"
_
システムのデフォルトのテーマ、およびターゲットのデプロイメントマシンには、必要なアイコンが含まれていない可能性があります...しかし、ほとんどの場合、GNOMEまたはOxygenデスクトップデスクトップテーマがインストールされています...
_QIcon::setThemeName("oxygen");
_
コードのランタイムまでテーマが設定されないため、Qt Designerにプレビューが表示されないことに注意してください。
Gnomeアイコンライブラリには、1100以上のアイコンがあります。ここに1つのリストがあります:
https://Gist.github.com/peteristhegreat/c0ca6e1a57e5d4b9cd0bb1d7b3be1d6a
これは、ターゲットシステムで使用可能なテーマを知っている限り機能します。
Freedesktop.orgのリストには、286個のアイコンがリストされています。
@peppeが指摘したように、Qtには70の標準アイコンも含まれています。
_widget->setIcon(widget->style()->standardIcon(QStyle::SP_BrowserReload));
_
http://doc.qt.io/qt-5/qstyle.html#StandardPixmap-enum
ターゲットシステムでストックライブラリを使用するのがおそらく最速です。 Qtビルトインの使用はすぐに理解して使用できますが、かなり制限されています。リソースファイルの使用はおそらく最も堅牢な方法であり、使用するアイコンについて無制限のオプションが提供されます。
必ず標準のアイコンパックを選択し、ライセンスや属性などについて検討してください。
また、オンラインで利用できるアイコンが不足することはありません。
https://www.quora.com/What-is-the-best-icon-library
https://www.google.com/search?q=open+source+icon+library
お役に立てば幸いです。