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.

2>How to Fix the Issue

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: