8

私はPyQt4モジュールを使用してPythonで基本的なプログラムを書いています。システムテーマのアイコンを設定ダイアログのアイコンなどに使用できるようにしたいのですが、その方法がわかりません。だから私の質問は、アイコンの場所をどのように取得するかですが、システムのアイコンテーマによって変更されることを確認してください。重要な場合は、これをubuntu 9.04で開発しているので、gnomeデスクトップを使用しています。

4

3 に答える 3

7

残念ながら、Qtは特定のテーマのアイコンの取得をサポートしていないようです。KDEとGnomeの両方でこれを行う方法があります。

KDEの方法は非常にエレガントであり、QtがKDEのツールキットであることを考えると理にかなっています。PyQt4.QtGuiクラスQIconを使用する代わりに、代わりにPyKDE4.kdeuiクラスKIconを使用します。この例は次のとおりです。

from PyKDE4.kdeui import *
icon = KIcon("*The Icon Name*")

このクラスのPyKDEドキュメント(ここ)を参照してください。

gnomeでこれをサポートする1​​つの方法は、pythongtkパッケージを使用することです。kdeの方法ほど良くはありませんが、それでも機能します。次のように使用できます。

from PyQt4 import QtGui
from gtk import icon_theme_get_default

iconTheme = icon_theme_get_default()
iconInfo = iconTheme.lookup_icon("*The Icon Name*", *Int of the icon size*, 0)
icon = QtGui.QIcon(iconInfo.get_filename())

IconThemeクラスIconInfoクラスのドキュメントを参照してください。

編集:訂正CesarBに感謝します

于 2009-06-16T01:02:39.567 に答える
0

私は少し前にこれを自分で研究するのにかなりの量を費やしました、そして私の結論は、残念ながら、Qtはクロスプラットフォームの方法でこの機能を提供しないということでした。理想的には、QIconクラスには、ファイルのオープン、保存、「+」、「-」、設定などのデフォルトがありますが、それを考慮すると、デスクトップ環境に適したアイコンを取得する必要はありません。

于 2009-06-16T00:26:37.173 に答える
0

PyKDE4KIconクラスを使用します。

http://api.kde.org/pykde-4.2-api/kdeui/KIcon.html

于 2009-06-15T23:44:44.637 に答える