【发布时间】:2021-11-22 22:00:44
【问题描述】:
我想在黑色背景上显示QCheckBox。我不想将图像添加到.qrc 来配置我自己的风格。我只想用.qss 配置样式。当我尝试更改背景时,所有(检查矩形的预期区域)都显示正常
所以,用我的style.qss 内容:
QWidget {
background: #080808;
}
QCheckBox {
color: white;
}
如您所见,v 复选标记周围没有矩形框。
所以,我尝试添加到我的.qss:
QCheckBox::indicator:checked {
background: transparent;
background-color: transparent;
color: white;
border: 1px solid #5A5A5A;
}
但这会删除v,所以选中状态显示有框区域,但没有v-标记,就好像状态未选中:
我的印象是该框的填充覆盖了v 复选标记。
如何在v勾选标记周围画框?
更新。我通过修改我的 QCheckBox 的调色板来解决这个问题:
void MyWidget::fixPalette(){
QPalette p = ui->autoScrollCheckBox->palette();
p.setColor(QPalette::Window, Qt::gray);
ui->autoScrollCheckBox->setPalette(p);
}
但是如何仅使用样式表来做到这一点?
【问题讨论】:
标签: qt qtstylesheets qcheckbox qt5.13