私はPySideのチュートリアルを読んでいて、考えていました。すべてのものに独自のアイコンを見つける必要があるのですか、それとも組み込みのアイコンを使用する方法があるのですか?そうすれば、小さなGUIを別のデスクトップ環境で実行したいのであれば、まったく新しいアイコンセットを見つける必要はありません。
必要なのはPyside QIcon.fromTheme関数です。基本的に、現在のシステムテーマから必要なアイコンでQIconオブジェクトを作成します。
使用法:
undoicon = QIcon.fromTheme("edit-undo")
"元に戻す編集"-アイコンの名前 "タイプ"/"関数"が見つかります ここ
これはX11システムで動作し、MacOSXおよびWindowsの場合はQIconのドキュメントを確認してください QIcon.fromTheme
編集前回リンク切れだったので、これをウェブサイトから挿入します。
staticPySide.QtGui.QIcon。fromTheme(name [、fallback = QIcon()])
パラメータ:
- name–ユニコード
- fallback– 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() にバンドルし、適切な PySide.QtGuiを設定する必要があります。 .QIcon.themeName() 。
も参照してください
デフォルトスタイルの標準ピクスマップを使用して、PyQt/PySideの標準組み込みアイコンにアクセスする別の方法があります。たとえば、次はファイルを開くためのアイコンを作成します。
self.style().standardIcon(QtGui.QStyle.SP_DialogOpenButton)
標準ピクスマップの完全なリストについては、以下を参照してください。
PyQt5
、再生アイコン付きのプッシュボタンを作成する簡単な例を次に示します。
play_button = QtGui.QPushButton('Play video')
play_button.setIcon(QtGui.QApplication.style().standardIcon(QtGui.QStyle.SP_MediaPlay))
Qt5のドキュメントでは、可能なSP( "Standard Pixmap")アイコンのリストを提供しています。enum QStyle::StandardPixmap
ここ: http://doc.qt.io/qt-5/qstyle.html
標準アイコンの画像を見つけるのに苦労しているので、今後の参考のために 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 docs がstandardIcons enumテーブルに画像を持っているといいですね...
pyQtでは、ウィンドウアイコンはデフォルトでQtロゴです。 GUI内にあるものについて、独自のアイコンを見つける必要があると思います。