Fixing Missing Checkmarks in Custom Qt QCheckBox Stylesheets
Why the QCheckBox Indicator Checkmark Is Invisible
When you apply a custom stylesheet to a Qt widget sub-control like QCheckBox::indicator, Qt completely disables the native OS rendering engine for that sub-control. Because native drawing is bypassed, Qt relies entirely on your stylesheet rules to render state transitions.
In your code snippet, the issue comes from the image: none; declaration inside the QCheckBox::indicator:checked rule. Setting image: none; explicitly instructs Qt not to render any checkmark icon, leaving only the blue background color.
To make the checkmark visible again, you need to supply a custom SVG or PNG image for the checked state using the image: url(...) property.
Option 1: Using the Qt Resource System (Recommended)
Add a checkmark SVG icon (e.g., checkmark.svg) to your project's Qt Resource File (.qrc), and reference it in your stylesheet: