[PyQt] Type annotations for QStrings: str or Optional[str]?
phil at riverbankcomputing.com
Mon Nov 26 21:57:32 GMT 2018
On 26 Nov 2018, at 8:41 pm, Florian Bruhin <me at the-compiler.org> wrote:
> sip/QtCore/qstring.sip says:
> %MappedType QString /AllowNone,TypeHint="str",TypeHintValue="''"/
> At least where Qt functions take a QString as argument, passing None
> should always be allowed, so I think Optional[str] would be more
More accurate, yes..
> Where they return a QString, I'm not so sure - what happens if Qt
> returns a null QString? Even if PyQt maps that to None, it seems rather
> cumbersome to have Optional[str] there, as that'd mean you'd need to
> check every QString return value for None-ness (which isn't really done
> in practice, as often you wouldn't expect to ever get None back).
Both null and empty QStrings are converted to ''.
IMHO 'str' rather than 'Optional[str]' is less clunky, particularly in docstrings. I'm not sure null QStrings are even still used.
Happy to discuss further...
More information about the PyQt