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

问题描述 投票:2回答:1

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

connect(ui->comboBox, SIGNAL(currentIndexChanged(QString)),
ui->listWidget ,SLOT(setStyleSheet("border-image: url("QString");")));
qt variables stylesheet
1个回答
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));
});
© www.soinside.com 2019 - 2024. All rights reserved.