私は PySide のチュートリアルを読んでいて、考えていたのですが、すべてのものに対して独自のアイコンを見つける必要があるのでしょうか、それとも組み込みのアイコンを使用する方法があるのでしょうか。そうすれば、小さな GUI を別のデスクトップ環境で実行したい場合に、まったく新しいアイコン セットを探す必要がなくなります。
8 に答える
必要なのは Pyside QIcon.fromTheme 関数です。基本的に、現在のシステムテーマから必要なアイコンを持つ QIcon オブジェクトを作成します。
使用法:
undoicon = QIcon.fromTheme("edit-undo")
「元に戻す編集」 - アイコンの名前「タイプ」/「機能」はここにあります
これは X11 システムで動作します。MacOSX と Windows については、QIcon のドキュメント QIcon.fromThemeを確認してください。
編集前回はリンク切れだったので、これをウェブサイトから挿入します。
static PySide.QtGui.QIcon. fromTheme ( name[, fallback=QIcon()] )
パラメーター:
- 名前– ユニコード
- フォールバック– PySide.QtGui.QIcon
戻り値のタイプ:
現在のアイコン テーマの名前に対応するPySide.QtGui.QIconを返します。現在のテーマにそのようなアイコンが見つからない場合は、代わりにフォールバックが返されます。
freedesktop のアイコン仕様と命名仕様の最新バージョンは、次の場所から入手できます。
- http://standards.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.html
- http://standards.freedesktop.org/icon-naming-spec/icon-naming-spec-latest.html
現在のアイコン テーマからアイコンを取得するには:
undoicon = QIcon.fromTheme("edit-undo")
または、テーマ アイコンをサポートしていないプラットフォームに確実なフォールバックを提供したい場合は、2 番目の引数を使用できます。
undoicon = QIcon.fromTheme("edit-undo", QIcon(":/undo.png"))
ノート
デフォルトでは、X11 のみがテーマ アイコンをサポートします。Mac と Windows でテーマ アイコンを使用するには、準拠したテーマを PySide.QtGui.QIcon.themeSearchPaths() の 1 つにバンドルし、適切なPySide.QtGui.QIcon.themeName( )を設定する必要があります。
こちらもご覧ください
デフォルト スタイルの標準 pixmap を使用して、PyQt/PySide の標準の組み込みアイコンの一部にアクセスする別の方法があります。たとえば、次はファイルを開くためのアイコンを作成します。
self.style().standardIcon(QtGui.QStyle.SP_DialogOpenButton)
標準ピックスマップの完全なリストについては、以下を参照してください。
標準アイコンの画像がなかなか見つからないので、参考までにhttp://nukesaq88.hatenablog.com/entry/2013/04/12/005525
そして、私が使用しているコード(PyQt4、Pysideはおそらく似ています):
# In method of QMainWindow subclass
stdicon = self.style().standardIcon
style = QtGui.QStyle
reload_foo = QtGui.QAction(stdicon(style.SP_BrowserReload), '&Reload', self)
(明らかに自動生成された) Qt ドキュメントの standardIcons 列挙テーブルに写真があればいいのですが...
PyQt では、ウィンドウ アイコンはデフォルトで Qt ロゴです。GUI内の独自のアイコンを見つける必要があると思います。