при использовании таблицы стилей родительского виджета применяет ее ко всем дочерним элементам в qt: поэтому решение состоит в том, чтобы указать имя класса виджета: (например, для QFrame)
frame->setStyleSheet("QFrame{ background-image: url(image_path) }")
или, точнее, используйте widget->setObjectName("objectName")
:
widget->setObejectName("objectName");
widget->setStyleSheet("#objectName{ background-image: url(image_path) }")