enthought / enthought/pyface

Bug report: AttributeError: type object 'QFont' has no attribute 'Decorative'

Open
#1,249 3 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
115
Forks
54
PR merge metrics
No merged PRs in 30d

Description

## Environment

OS: Linux
Python version: 3.11
Toolkit: Qt
Qt API: PyQt6

pyface/traitsui 8.0.0

## Description

When running the traitsui pyqt6 tests I get:

```
ERROR: test_create_traitsfont_pyface_font (traitsui.qt.tests.test_font_trait.TestPyQtFont.test_create_traitsfont_pyface_font)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/builddir/build/BUILDROOT/python-traitsui-8.0.0-1.fc39.x86_64/usr/lib/python3.11/site-packages/traitsui/qt/tests/test_font_trait.py", line 89, in test_create_traitsfont_pyface_font
traits_font = create_traitsfont(font)
^^^^^^^^^^^^^^^^^^^^^^^
File "/builddir/build/BUILDROOT/python-traitsui-8.0.0-1.fc39.x86_64/usr/lib/python3.11/site-packages/traitsui/qt/font_trait.py", line 94, in create_traitsfont
return TraitsFont(value.to_toolkit())
^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/site-packages/pyface/font.py", line 378, in to_toolkit
font_to_toolkit_font = toolkit_object('font:font_to_toolkit_font')
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/site-packages/pyface/base_toolkit.py", line 127, in __call__
module = import_module(mname, package)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib64/python3.11/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "", line 1206, in _gcd_import
File "", line 1178, in _find_and_load
File "", line 1149, in _find_and_load_unlocked
File "", line 690, in _load_unlocked
File "", line 940, in exec_module
File "", line 241, in _call_with_frames_removed
File "/usr/lib/python3.11/site-packages/pyface/ui/qt/font.py", line 25, in
QFont.Decorative: 'fantasy',
^^^^^^^^^^^^^^^^
AttributeError: type object 'QFont' has no attribute 'Decorative'
```
With PyQt6 this is now QFont.StyleHint.Decorative. I don't know how pyface is supposed to handle this difference.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.