diff options
Diffstat (limited to 'silx/gui/icons.py')
-rw-r--r-- | silx/gui/icons.py | 54 |
1 files changed, 46 insertions, 8 deletions
diff --git a/silx/gui/icons.py b/silx/gui/icons.py index eaf83b8..07654c1 100644 --- a/silx/gui/icons.py +++ b/silx/gui/icons.py @@ -29,15 +29,16 @@ Use :func:`getQIcon` to create Qt QIcon from the name identifying an icon. __authors__ = ["T. Vincent"] __license__ = "MIT" -__date__ = "25/04/2017" +__date__ = "06/09/2017" +import os import logging import weakref from . import qt -from silx.resources import resource_filename +import silx.resources from silx.utils import weakref as silxweakref -from silx.utils.decorators import deprecated +from silx.utils.deprecation import deprecated _logger = logging.getLogger(__name__) @@ -192,7 +193,7 @@ class MultiImageAnimatedIcon(AbstractAnimatedIcon): self.__frames = [] for i in range(100): try: - pixmap = getQPixmap("animated/%s-%02d" % (filename, i)) + pixmap = getQPixmap("%s/%02d" % (filename, i)) except ValueError: break icon = qt.QIcon(pixmap) @@ -258,13 +259,22 @@ def getWaitIcon(): def getAnimatedIcon(name): - """Create an AbstractAnimatedIcon from a name. + """Create an AbstractAnimatedIcon from a resource name. + + The resource name can be prefixed by the name of a resource directory. For + example "silx:foo.png" identify the resource "foo.png" from the resource + directory "silx". + + If no prefix are specified, the file with be returned from the silx + resource directory with a specific path "gui/icons". + + See also :func:`silx.resources.register_resource_directory`. Try to load a mng or a gif file, then try to load a multi-image animated icon. - In Qt5 mng or gif are not used. It does not take care very well of the - transparency. + In Qt5 mng or gif are not used, because the transparency is not very well + managed. :param str name: Name of the icon, in one of the defined icons in this module. @@ -302,6 +312,15 @@ def getAnimatedIcon(name): def getQIcon(name): """Create a QIcon from its name. + The resource name can be prefixed by the name of a resource directory. For + example "silx:foo.png" identify the resource "foo.png" from the resource + directory "silx". + + If no prefix are specified, the file with be returned from the silx + resource directory with a specific path "gui/icons". + + See also :func:`silx.resources.register_resource_directory`. + :param str name: Name of the icon, in one of the defined icons in this module. :return: Corresponding QIcon @@ -319,6 +338,15 @@ def getQIcon(name): def getQPixmap(name): """Create a QPixmap from its name. + The resource name can be prefixed by the name of a resource directory. For + example "silx:foo.png" identify the resource "foo.png" from the resource + directory "silx". + + If no prefix are specified, the file with be returned from the silx + resource directory with a specific path "gui/icons". + + See also :func:`silx.resources.register_resource_directory`. + :param str name: Name of the icon, in one of the defined icons in this module. :return: Corresponding QPixmap @@ -332,6 +360,15 @@ def getQFile(name): """Create a QFile from an icon name. Filename is found according to supported Qt formats. + The resource name can be prefixed by the name of a resource directory. For + example "silx:foo.png" identify the resource "foo.png" from the resource + directory "silx". + + If no prefix are specified, the file with be returned from the silx + resource directory with a specific path "gui/icons". + + See also :func:`silx.resources.register_resource_directory`. + :param str name: Name of the icon, in one of the defined icons in this module. :return: Corresponding QFile @@ -353,7 +390,8 @@ def getQFile(name): for format_ in _supported_formats: format_ = str(format_) - filename = resource_filename('gui/icons/%s.%s' % (name, format_)) + filename = silx.resources._resource_filename('%s.%s' % (name, format_), + default_directory=os.path.join('gui', 'icons')) qfile = qt.QFile(filename) if qfile.exists(): return qfile |