Skip to content

Conversation

@tbttfox
Copy link
Member

@tbttfox tbttfox commented Jan 27, 2026

Checklist

  • [ x] I have read the CONTRIBUTING.md document
  • [ x] I formatted my changes with black
  • [ x] I linted my changes with flake8
  • [ x] I have added documentation regarding my changes where necessary
  • [ x] Any pre-existing tests continue to pass
  • Additional tests were made covering my changes

Types of Changes

  • [ x] Bugfix (change that fixes an issue)
  • New Feature (change that adds functionality)
  • Documentation Update (if none of the other choices apply)

Proposed Changes

When using preditor with PySide6, QFontDialog.getFont() returns the boolean value first, so rather than trying to be tricky, I just check if the first is a boolean, and unpack accordingly.

@MHendricks
Copy link
Member

Annoyingly PySide6 doesn't match any of the other bindings.

$ pyside6/Scripts/python -c "from PySide6.QtWidgets import QFontDialog;help(QFontDialog.getFont)"
Help on built-in function getFont:

getFont(...)
    getFont(initial: Union[PySide6.QtGui.QFont, str, Sequence[str]], parent: Optional[PySide6.QtWidgets.QWidget] = None, title: str = '', options: PySide6.QtWidgets.QFontDialog.FontDialogOption = Default(QFontDialog.FontDialogOptions)) -> Tuple[bool, PySide6.QtGui.QFont]
    getFont(parent: Optional[PySide6.QtWidgets.QWidget] = None) -> Tuple[bool, PySide6.QtGui.QFont]


$ pyqt6/Scripts/python -c "from PyQt6.QtWidgets import QFontDialog;help(QFontDialog.getFont)"
Help on built-in function getFont:

getFont(...) class method of PyQt6.QtWidgets.QFontDialog
    getFont(initial: QFont, parent: Optional[QWidget] = None, caption: Optional[str] = '', options: QFontDialog.FontDialogOption = QFontDialog.FontDialogOptions()) -> (QFont, Optional[bool])
    getFont(parent: Optional[QWidget] = None) -> (QFont, Optional[bool])


$ pyside2/Scripts/python -c "from PySide2.QtWidgets import QFontDialog;help(QFontDialog.getFont)"
Help on built-in function getFont:

getFont(...)
    getFont(initial: PySide2.QtGui.QFont, parent: typing.Optional[PySide2.QtWidgets.QWidget] = None, title: str = '', options: PySide2.QtWidgets.QFontDialog.FontDialogOptions = Default(QFontDialog.FontDialogOptions)) -> typing.Tuple[PySide2.QtGui.QFont, bool]
    getFont(parent: typing.Optional[PySide2.QtWidgets.QWidget] = None) -> typing.Tuple[PySide2.QtGui.QFont, bool]


$ pyqt5/Scripts/python -c "from PyQt5.QtWidgets import QFontDialog;help(QFontDialog.getFont)"
Help on built-in function getFont:

getFont(...)
    getFont(initial: QFont, parent: Optional[QWidget] = None, caption: Optional[str] = '', options: Union[QFontDialog.FontDialogOptions, QFontDialog.FontDialogOption] = QFontDialog.FontDialogOptions()) -> (QFont, Optional[bool])
    getFont(parent: Optional[QWidget] = None) -> (QFont, Optional[bool])

Formatted to be a little easier to compare.

PyQt5:   getFont(initial: QFont,                            parent: Optional[QWidget] = None, caption: Optional[str] = '', options: Union[QFontDialog.FontDialogOptions, QFontDialog.FontDialogOption] = QFontDialog.FontDialogOptions())        -> Tuple[QFont, Optional[bool]]
PyQt6:   getFont(initial: QFont,                            parent: Optional[QWidget] = None, caption: Optional[str] = '',                                       options: QFontDialog.FontDialogOption = QFontDialog.FontDialogOptions())        -> Tuple[QFont, Optional[bool]]
PySide2: getFont(initial: QFont,                            parent: Optional[QWidget] = None,             title: str = '',                                      options: QFontDialog.FontDialogOptions = Default(QFontDialog.FontDialogOptions)) -> Tuple[QFont, bool]
PySide6: getFont(initial: Union[QFont, str, Sequence[str]], parent: Optional[QWidget] = None,             title: str = '',                                       options: QFontDialog.FontDialogOption = Default(QFontDialog.FontDialogOptions)) -> Tuple[bool, QFont]

PyQt5:   getFont(parent: Optional[QWidget] = None) -> Tuple[QFont, Optional[bool]]
PyQt6:   getFont(parent: Optional[QWidget] = None) -> Tuple[QFont, Optional[bool]]
PySide2: getFont(parent: Optional[QWidget] = None) -> Tuple[QFont, bool]
PySide6: getFont(parent: Optional[QWidget] = None) -> Tuple[bool, QFont]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants