Skip to content

Stylized QPushButtons are broken on (Py)Qt5 5.15.0 on macOS #298

@crwood

Description

@crwood

I recently stumbled upon a pretty serious regression in Qt 5.15.0 in which restyling a QPushButton (using setStyleSheet()) on macOS will cause that button to fail to emit clicked (and pressed and released) signals, effectively rendering that button useless. Here's a quick example/snippet to demonstrate:

from PyQt5.QtWidgets import QApplication, QPushButton
app = QApplication([])
btn = QPushButton("Click me!")
btn.setStyleSheet("background: green")
btn.clicked.connect(lambda: print("Button was clicked!"))
btn.show()
app.exec_() 

Under PyQt5 5.14.2, the clicked signal is properly emitted (and the print function is called, as expected) but will fail silently after updating to 5.15.0.

The issue has been reported upstream (and assigned a "Critical" priority):

https://bugreports.qt.io/browse/QTBUG-84852
https://bugreports.qt.io/browse/QTBUG-84879

Until the bug has been squashed -- and a new version of (Py)Qt has been released with a fix in place -- the Gridsync project should pin/downgrade PyQt5 to version 5.14.2 -- at least on macOS.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions