Вы должны указать QWidget
, где применить свойство. Если вы этого не сделаете, он будет применен ко всем дочерним элементам виджета.
В вашем случае, чтобы избежать фонового изображения во всплывающей подсказке, вы должны указать, что хотите применить этот стиль к виджету QPushButton. В документации написано:
Если мы хотим, чтобы свойство применялось только к QLineEdits, которые являются дочерними (или внуками или правнуками) определенного диалога, мы бы предпочли сделать это:
myDialog-> setStyleSheet ("QLineEdit {background-color: yellow}");
В примере, который вы упоминаете, если вы хотите изменить стиль всплывающей подсказки и кнопки, сделайте что-то вроде этого:
ui->pushButton->setStyleSheet(""
"QPushButton { background-image: url(me.png); }"
"QToolTip { color: #ffffff; background-color: #000000; border: 0px; }");
Это даст вам что-то вроде этого
Обновление:
Если вы хотите применить его к одному объекту, а не к остальным виджетам того же типа, документация гласит:
Если мы хотим, чтобы свойство применялось только к одному конкретному QLineEdit, мы можем присвоить ему имя с помощью QObject :: setObjectName () и использовать селектор идентификаторов для ссылки на него:
myDialog-> setStyleSheet ("QLineEdit # nameEdit {background-color: yellow}");
Так в вашем случае:
ui->pushButton->setObjectName("awesomeButton");
ui->pushButton->setStyleSheet("QPushButton#awesomeButton { background-image: url(me.png); }");