Skip to content

When setting the font, the order can be reversed. Handle that situation#52

Merged
MHendricks merged 1 commit intoblurstudio:mainfrom
tbttfox:tyler/qt6-font-setting
Mar 3, 2026
Merged

When setting the font, the order can be reversed. Handle that situation#52
MHendricks merged 1 commit intoblurstudio:mainfrom
tbttfox:tyler/qt6-font-setting

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]

@MHendricks MHendricks merged commit 6d5f941 into blurstudio:main Mar 3, 2026
17 checks passed
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