Important: Please read the Qt Code of Conduct -

[SOLVED] Can we override the properties set through stylesheet ?

  • Hi,

    I have a scenario where there is a list of widgets on a form, for all these widgets few properties like color/font has been set through a single stylesheet file (.qss). Now through a settings dialog can I change override the widget properties like font / foreground color / background color ? Or It will reflect always the properties as set in the stylesheet file ?


  • The last stylesheet line will override the previous ones if they affect the same properties.

    Just give it a try, you should be good.

  • A test example to explain:

    I have a form with two pushButton , For the first button the font properties are set through stylesheet , when I click on the second button , there in the slot I set the font using QFont which doesn;t change anything.

    @/****BEGIN TEST ****/

    QFile file("C:/test/TestFont/style.qss");

    if(! | QIODevice::Text))
    qDebug() << "Could not load file";
    QString StyleSheet = QLatin1String(file.readAll());

    /****END TEST ****/

    @void MainWindow::on_pushButton_2_clicked()
    QFont font;

    qDebug() << ui->pushButton->font();


    font-family: MS Outlook;
    font: bold 14px;

  • so you're not using a stylesheet in your slot

    What message does the qDebug in your slot give you?

  • Yes thats the question, If we can mix stylesheet properties and QFont/QPalette

    So if I set the same value using stylesheet then it works, but in this case I need to write a css file dynamically and force it to be used only for the specific module that uses it within the application.

    @QFont font;

    ui->pushButton->setStyleSheet(QString("font-family: %1; font: %2px;").arg(;@

    The idea is that we have a designer with a lot of widgets, somewhere there is a container/ list with some style define that can be edited by the user,

    So if I drag and drop a particular style to a widget the should be rendered/reflected by all the widgets which has the same type, eg a pushbutton.

  • Implemented !

    Thanks Eddy

  • Hi Sam , Please share how you achieved that.

  • Set font and refresh qss theme again. It works. Looks dirty but I think there is no right solution in such case.

    Added info for future reference

Log in to reply