Specify the applet signatures with which this macro is compatible.

        Qtmacs uses this information at run time to determine if this
        macro is compatible with a particular applet, as specified by
        the applet's signature. Note that this function overwrites
        all previously set values.

        |Args|

        * ``*appletSignatures`` (**str, tuple, list**): applet signatures
          as a string, or tuple/list of strings.

        |Returns|

        * **None**

        |Raises|

        * **QtmacsArgumentError** if at least one argument has an invalid type.

def qteSetAppletSignature(self, appletSignatures: (str, tuple, list)):
        """
        Specify the applet signatures with which this macro is compatible.

        Qtmacs uses this information at run time to determine if this
        macro is compatible with a particular applet, as specified by
        the applet's signature. Note that this function overwrites
        all previously set values.

        |Args|

        * ``*appletSignatures`` (**str, tuple, list**): applet signatures
          as a string, or tuple/list of strings.

        |Returns|

        * **None**

        |Raises|

        * **QtmacsArgumentError** if at least one argument has an invalid type.
        """
        # Convert the argument to a tuple if it is not already a tuple
        # or list.
        if not isinstance(appletSignatures, (tuple, list)):
            appletSignatures = appletSignatures,

        # Ensure that all arguments in the tuple/list are strings.
        for idx, val in enumerate(appletSignatures):
            if not isinstance(val, str):
                args = ('appletSignatures', 'str', inspect.stack()[0][3])
                raise QtmacsArgumentError(*args)

        # Store the compatible applet signatures as a tuple (of strings).
        self._qteAppletSignatures = tuple(appletSignatures)