如何在 qt StyleSheet 中使用包含文件路径的变量
how to use a variable that contains a file path in qt StyleSheet
在样式表中使用包含文件路径的 qstring 变量的任何方式,例如
connect(ui->comboBox, SIGNAL(currentIndexChanged(QString)),
ui->listWidget ,SLOT(setStyleSheet("border-image: url("QString");")));
我猜你可以访问 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));
});
在样式表中使用包含文件路径的 qstring 变量的任何方式,例如
connect(ui->comboBox, SIGNAL(currentIndexChanged(QString)),
ui->listWidget ,SLOT(setStyleSheet("border-image: url("QString");")));
我猜你可以访问 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));
});