Thanks for the additional information. Still it is a bug in Spyder, not in Qt:
1) Cleanlooks and Plastique styles are inheriting from QProxyStyle. 2) So in Spyder’s HTMLDelegate.paint method, options.widget.style() returns a QProxyStyle. 3) In QProxyStyle.subElementRect method, the third argument is not optional, so should be specified: https://doc.qt.io/qt-5/qproxystyle.html#subElementRect In C++, if the two-argument call is used, the compiler would ignore QProxyStyle::subElementRect and fall back to QCommonStyle::subElementRect. However, in Python there is no concept of overloading methods so this is not possible. So Qt and PyQt behave according to their documentation. Replacing style.subElementRect(QStyle.SE_ItemViewItemText, options) with style.subElementRect(QStyle.SE_ItemViewItemText, options, None) in Spyder code seems to help. With regards to crash when using GTK2, it is a different and known issue. Qt uses GTK3 platformtheme (i.e. dialogs) by default, and it is incompatible with GTK2. If you want to use GTK2 then you should export QT_QPA_PLATFORMTHEME=gtk2. But I recommend against using GTK2 as it is deprecated. ** Changed in: qtstyleplugins-src (Ubuntu) Status: New => Invalid -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to qtbase-opensource-src in Ubuntu. https://bugs.launchpad.net/bugs/1832019 Title: Error when going to 'Tools -> Preferences -> Keyboard shortcuts' in Spyder3 in Bionic Status in pyqt5 package in Ubuntu: Invalid Status in qtbase-opensource-src package in Ubuntu: Invalid Status in qtstyleplugins-src package in Ubuntu: Invalid Status in spyder package in Ubuntu: New Bug description: In Ubuntu 18.04 LTS Steps: 1. Install spyder3 and qt5-style-plugins (sudo apt install spyder3 qt5-style-plugins) 2. Run spyder3 3. Go to Tools → Preferences → General → Appearance 4. Change the Qt window style to cleanlooks, gtk2 or plastique 5. Go to Tools → Preferences → Keyboard shortcuts 6. Error (or crash in case of gtk2) Keyboard shortcuts are not accessible. Here is the error: File "/usr/lib/python3/dist-packages/spyder/widgets/helperwidgets.py", line 127, in paint textRect = style.subElementRect(QStyle.SE_ItemViewItemText, options) TypeError: subElementRect(self, QStyle.SubElement, QStyleOption, QWidget): not enough arguments Traceback (most recent call last): File "/usr/lib/python3/dist-packages/spyder/widgets/helperwidgets.py", line 127, in paint textRect = style.subElementRect(QStyle.SE_ItemViewItemText, options) TypeError: subElementRect(self, QStyle.SubElement, QStyleOption, QWidget): not enough arguments Traceback (most recent call last): File "/usr/lib/python3/dist-packages/spyder/widgets/helperwidgets.py", line 127, in paint textRect = style.subElementRect(QStyle.SE_ItemViewItemText, options) TypeError: subElementRect(self, QStyle.SubElement, QStyleOption, QWidget): not enough arguments Traceback (most recent call last): File "/usr/lib/python3/dist-packages/spyder/widgets/helperwidgets.py", line 127, in paint textRect = style.subElementRect(QStyle.SE_ItemViewItemText, options) TypeError: subElementRect(self, QStyle.SubElement, QStyleOption, QWidget): not enough arguments Traceback (most recent call last): File "/usr/lib/python3/dist-packages/spyder/widgets/helperwidgets.py", line 127, in paint textRect = style.subElementRect(QStyle.SE_ItemViewItemText, options) TypeError: subElementRect(self, QStyle.SubElement, QStyleOption, QWidget): not enough arguments Traceback (most recent call last): File "/usr/lib/python3/dist-packages/spyder/widgets/helperwidgets.py", line 127, in paint textRect = style.subElementRect(QStyle.SE_ItemViewItemText, options) TypeError: subElementRect(self, QStyle.SubElement, QStyleOption, QWidget): not enough arguments Traceback (most recent call last): File "/usr/lib/python3/dist-packages/spyder/widgets/helperwidgets.py", line 127, in paint textRect = style.subElementRect(QStyle.SE_ItemViewItemText, options) TypeError: subElementRect(self, QStyle.SubElement, QStyleOption, QWidget): not enough arguments Traceback (most recent call last): File "/usr/lib/python3/dist-packages/spyder/widgets/helperwidgets.py", line 127, in paint textRect = style.subElementRect(QStyle.SE_ItemViewItemText, options) TypeError: subElementRect(self, QStyle.SubElement, QStyleOption, QWidget): not enough arguments Traceback (most recent call last): File "/usr/lib/python3/dist-packages/spyder/widgets/helperwidgets.py", line 127, in paint textRect = style.subElementRect(QStyle.SE_ItemViewItemText, options) TypeError: subElementRect(self, QStyle.SubElement, QStyleOption, QWidget): not enough arguments Traceback (most recent call last): File "/usr/lib/python3/dist-packages/spyder/widgets/helperwidgets.py", line 127, in paint textRect = style.subElementRect(QStyle.SE_ItemViewItemText, options) TypeError: subElementRect(self, QStyle.SubElement, QStyleOption, QWidget): not enough arguments Traceback (most recent call last): File "/usr/lib/python3/dist-packages/spyder/widgets/helperwidgets.py", line 127, in paint textRect = style.subElementRect(QStyle.SE_ItemViewItemText, options) TypeError: subElementRect(self, QStyle.SubElement, QStyleOption, QWidget): not enough arguments Traceback (most recent call last): File "/usr/lib/python3/dist-packages/spyder/widgets/helperwidgets.py", line 127, in paint textRect = style.subElementRect(QStyle.SE_ItemViewItemText, options) TypeError: subElementRect(self, QStyle.SubElement, QStyleOption, QWidget): not enough arguments Traceback (most recent call last): File "/usr/lib/python3/dist-packages/spyder/widgets/helperwidgets.py", line 127, in paint textRect = style.subElementRect(QStyle.SE_ItemViewItemText, options) TypeError: subElementRect(self, QStyle.SubElement, QStyleOption, QWidget): not enough arguments Traceback (most recent call last): File "/usr/lib/python3/dist-packages/spyder/widgets/helperwidgets.py", line 127, in paint textRect = style.subElementRect(QStyle.SE_ItemViewItemText, options) TypeError: subElementRect(self, QStyle.SubElement, QStyleOption, QWidget): not enough arguments Traceback (most recent call last): File "/usr/lib/python3/dist-packages/spyder/widgets/helperwidgets.py", line 127, in paint textRect = style.subElementRect(QStyle.SE_ItemViewItemText, options) TypeError: subElementRect(self, QStyle.SubElement, QStyleOption, QWidget): not enough arguments Traceback (most recent call last): File "/usr/lib/python3/dist-packages/spyder/widgets/helperwidgets.py", line 127, in paint textRect = style.subElementRect(QStyle.SE_ItemViewItemText, options) TypeError: subElementRect(self, QStyle.SubElement, QStyleOption, QWidget): not enough arguments Traceback (most recent call last): File "/usr/lib/python3/dist-packages/spyder/widgets/helperwidgets.py", line 127, in paint textRect = style.subElementRect(QStyle.SE_ItemViewItemText, options) TypeError: subElementRect(self, QStyle.SubElement, QStyleOption, QWidget): not enough arguments Traceback (most recent call last): File "/usr/lib/python3/dist-packages/spyder/widgets/helperwidgets.py", line 127, in paint textRect = style.subElementRect(QStyle.SE_ItemViewItemText, options) TypeError: subElementRect(self, QStyle.SubElement, QStyleOption, QWidget): not enough arguments Traceback (most recent call last): File "/usr/lib/python3/dist-packages/spyder/widgets/helperwidgets.py", line 127, in paint textRect = style.subElementRect(QStyle.SE_ItemViewItemText, options) TypeError: subElementRect(self, QStyle.SubElement, QStyleOption, QWidget): not enough arguments Traceback (most recent call last): File "/usr/lib/python3/dist-packages/spyder/widgets/helperwidgets.py", line 127, in paint textRect = style.subElementRect(QStyle.SE_ItemViewItemText, options) TypeError: subElementRect(self, QStyle.SubElement, QStyleOption, QWidget): not enough arguments Traceback (most recent call last): File "/usr/lib/python3/dist-packages/spyder/widgets/helperwidgets.py", line 127, in paint textRect = style.subElementRect(QStyle.SE_ItemViewItemText, options) TypeError: subElementRect(self, QStyle.SubElement, QStyleOption, QWidget): not enough arguments Traceback (most recent call last): File "/usr/lib/python3/dist-packages/spyder/widgets/helperwidgets.py", line 127, in paint textRect = style.subElementRect(QStyle.SE_ItemViewItemText, options) TypeError: subElementRect(self, QStyle.SubElement, QStyleOption, QWidget): not enough arguments Traceback (most recent call last): File "/usr/lib/python3/dist-packages/spyder/widgets/helperwidgets.py", line 127, in paint textRect = style.subElementRect(QStyle.SE_ItemViewItemText, options) TypeError: subElementRect(self, QStyle.SubElement, QStyleOption, QWidget): not enough arguments Traceback (most recent call last): File "/usr/lib/python3/dist-packages/spyder/widgets/helperwidgets.py", line 127, in paint textRect = style.subElementRect(QStyle.SE_ItemViewItemText, options) TypeError: subElementRect(self, QStyle.SubElement, QStyleOption, QWidget): not enough arguments Traceback (most recent call last): File "/usr/lib/python3/dist-packages/spyder/widgets/helperwidgets.py", line 127, in paint textRect = style.subElementRect(QStyle.SE_ItemViewItemText, options) TypeError: subElementRect(self, QStyle.SubElement, QStyleOption, QWidget): not enough arguments Traceback (most recent call last): File "/usr/lib/python3/dist-packages/spyder/widgets/helperwidgets.py", line 127, in paint textRect = style.subElementRect(QStyle.SE_ItemViewItemText, options) TypeError: subElementRect(self, QStyle.SubElement, QStyleOption, QWidget): not enough arguments Traceback (most recent call last): File "/usr/lib/python3/dist-packages/spyder/widgets/helperwidgets.py", line 127, in paint textRect = style.subElementRect(QStyle.SE_ItemViewItemText, options) TypeError: subElementRect(self, QStyle.SubElement, QStyleOption, QWidget): not enough arguments Traceback (most recent call last): File "/usr/lib/python3/dist-packages/spyder/widgets/helperwidgets.py", line 127, in paint textRect = style.subElementRect(QStyle.SE_ItemViewItemText, options) TypeError: subElementRect(self, QStyle.SubElement, QStyleOption, QWidget): not enough arguments Traceback (most recent call last): File "/usr/lib/python3/dist-packages/spyder/widgets/helperwidgets.py", line 127, in paint textRect = style.subElementRect(QStyle.SE_ItemViewItemText, options) TypeError: subElementRect(self, QStyle.SubElement, QStyleOption, QWidget): not enough arguments Traceback (most recent call last): File "/usr/lib/python3/dist-packages/spyder/widgets/helperwidgets.py", line 127, in paint textRect = style.subElementRect(QStyle.SE_ItemViewItemText, options) TypeError: subElementRect(self, QStyle.SubElement, QStyleOption, QWidget): not enough arguments Traceback (most recent call last): File "/usr/lib/python3/dist-packages/spyder/widgets/helperwidgets.py", line 127, in paint textRect = style.subElementRect(QStyle.SE_ItemViewItemText, options) TypeError: subElementRect(self, QStyle.SubElement, QStyleOption, QWidget): not enough arguments Traceback (most recent call last): File "/usr/lib/python3/dist-packages/spyder/widgets/helperwidgets.py", line 127, in paint textRect = style.subElementRect(QStyle.SE_ItemViewItemText, options) TypeError: subElementRect(self, QStyle.SubElement, QStyleOption, QWidget): not enough arguments Traceback (most recent call last): File "/usr/lib/python3/dist-packages/spyder/widgets/helperwidgets.py", line 127, in paint textRect = style.subElementRect(QStyle.SE_ItemViewItemText, options) TypeError: subElementRect(self, QStyle.SubElement, QStyleOption, QWidget): not enough arguments Traceback (most recent call last): File "/usr/lib/python3/dist-packages/spyder/widgets/helperwidgets.py", line 127, in paint textRect = style.subElementRect(QStyle.SE_ItemViewItemText, options) TypeError: subElementRect(self, QStyle.SubElement, QStyleOption, QWidget): not enough arguments Traceback (most recent call last): File "/usr/lib/python3/dist-packages/spyder/widgets/helperwidgets.py", line 127, in paint textRect = style.subElementRect(QStyle.SE_ItemViewItemText, options) TypeError: subElementRect(self, QStyle.SubElement, QStyleOption, QWidget): not enough arguments Traceback (most recent call last): File "/usr/lib/python3/dist-packages/spyder/widgets/helperwidgets.py", line 127, in paint textRect = style.subElementRect(QStyle.SE_ItemViewItemText, options) TypeError: subElementRect(self, QStyle.SubElement, QStyleOption, QWidget): not enough arguments Traceback (most recent call last): File "/usr/lib/python3/dist-packages/spyder/widgets/helperwidgets.py", line 127, in paint textRect = style.subElementRect(QStyle.SE_ItemViewItemText, options) TypeError: subElementRect(self, QStyle.SubElement, QStyleOption, QWidget): not enough arguments Traceback (most recent call last): File "/usr/lib/python3/dist-packages/spyder/widgets/helperwidgets.py", line 127, in paint textRect = style.subElementRect(QStyle.SE_ItemViewItemText, options) TypeError: subElementRect(self, QStyle.SubElement, QStyleOption, QWidget): not enough arguments Traceback (most recent call last): File "/usr/lib/python3/dist-packages/spyder/widgets/helperwidgets.py", line 127, in paint textRect = style.subElementRect(QStyle.SE_ItemViewItemText, options) TypeError: subElementRect(self, QStyle.SubElement, QStyleOption, QWidget): not enough arguments Traceback (most recent call last): File "/usr/lib/python3/dist-packages/spyder/widgets/helperwidgets.py", line 127, in paint textRect = style.subElementRect(QStyle.SE_ItemViewItemText, options) TypeError: subElementRect(self, QStyle.SubElement, QStyleOption, QWidget): not enough arguments Traceback (most recent call last): File "/usr/lib/python3/dist-packages/spyder/widgets/helperwidgets.py", line 127, in paint textRect = style.subElementRect(QStyle.SE_ItemViewItemText, options) TypeError: subElementRect(self, QStyle.SubElement, QStyleOption, QWidget): not enough arguments Traceback (most recent call last): File "/usr/lib/python3/dist-packages/spyder/widgets/helperwidgets.py", line 127, in paint textRect = style.subElementRect(QStyle.SE_ItemViewItemText, options) TypeError: subElementRect(self, QStyle.SubElement, QStyleOption, QWidget): not enough arguments Traceback (most recent call last): File "/usr/lib/python3/dist-packages/spyder/widgets/helperwidgets.py", line 127, in paint textRect = style.subElementRect(QStyle.SE_ItemViewItemText, options) TypeError: subElementRect(self, QStyle.SubElement, QStyleOption, QWidget): not enough arguments Traceback (most recent call last): File "/usr/lib/python3/dist-packages/spyder/widgets/helperwidgets.py", line 127, in paint textRect = style.subElementRect(QStyle.SE_ItemViewItemText, options) TypeError: subElementRect(self, QStyle.SubElement, QStyleOption, QWidget): not enough arguments ProblemType: Bug DistroRelease: Ubuntu 18.04 Package: spyder3 3.2.6+dfsg1-2 ProcVersionSignature: Ubuntu 4.18.0-21.22~18.04.1-generic 4.18.20 Uname: Linux 4.18.0-21-generic x86_64 ApportVersion: 2.20.9-0ubuntu7.6 Architecture: amd64 CurrentDesktop: ubuntu:GNOME Date: Fri Jun 7 18:17:17 2019 InstallationDate: Installed on 2018-11-29 (189 days ago) InstallationMedia: Ubuntu 18.04.1 LTS "Bionic Beaver" - Release amd64 (20180725) PackageArchitecture: all SourcePackage: spyder UpgradeStatus: No upgrade log present (probably fresh install) To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/pyqt5/+bug/1832019/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp