C++ – How to change QPushButton icon using stylesheets in Qt app

cqtstylesheet

Is it possible to set and change the icon on a QPushButton using stylesheets?

I need this for a Windows-based white-label Qt4.5 application that customers stylize using stylesheets.

Thanks.

Best Answer

A little late for a reply, but in case anyone else pops on this via google;

You can add the icon by changing the QAbstractButton-property. Simply use:

QAbstractButton {
     qproperty-icon: theme_url("/button_action/add");
}

The type-selector (QAbstractButton), enables you to set the style for the selected object and all its subclasses. Since QProcessButton extends the QAbstractButton, this will do the trick. (Of course you could also use the QPushButton type-selector here).

For more information on how to use selectors, I found this quite helpful.

If you want to learn more about the button-properties, refer to the QT-Documentation here.

PS. In case you want to change the icon, once the button is clicked, use

qproperty-icon: url(":/Icons/before_click.png") off,
                url(":/Icons/after_click.png") on ;