如何在qt StyleSheet中使用包含文件路径的变量

时间:2018-01-04 14:23:53

标签: qt variables stylesheet

使用包含样式表中文件路径的qstring变量的任何方式,例如

connect(ui->comboBox, SIGNAL(currentIndexChanged(QString)),
ui->listWidget ,SLOT(setStyleSheet("border-image: url("QString");")));

1 个答案:

答案 0 :(得分:1)

我猜你可以访问Qt 5和C ++ 11,然后你可以使用lambda Slot,但由于QComboBox::currentIndexChanged被重载,使用QString重载会有点复杂。

试试这个,我使用QString::arg方法来构建你的CSS字符串,这通常比简单的字符串连接更具可读性。它只是用第一个参数替换%1

connect(comboBox, QOverload<const QString &>::of(&QComboBox::currentIndexChanged),
    [=](const QString &imagePath) { 
        ui->listWidget->setStyleSheet(QString("border-image: url(\"%1\");").arg(imagePath));
});