我正在尝试更改树丛的背景图像并在 handle 上设置图像。在这样做的同时,我遇到了这样一种情况,即当我将背景设置为任何东西时, handle (有效)被凹槽覆盖。这个简单的示例显示了当我只更改颜色而不更改其他内容时出现的问题。这个小代码覆盖了句柄。 (用户现在不能滑动)我遗漏了一些重要的东西。我错过了什么?
mySlider = new QSlider(centralWidget);
mySlider->setObjectName(QStringLiteral("mySlider"));
mySlider->setGeometry(QRect(960, 500, 100, 25));
mySlider->setOrientation(Qt::Horizontal);
mySlider->setStyleSheet("QSlider::groove:horizontal {background-color:yellow;}");
这是 slider 的样子:
最佳答案
好像是个bug,好像把handle resize到了不可见的大小,但是要是能移动就有些困难了。我用以下代码检查的最后一条语句。
connect(mySlider, &QSlider::valueChanged, [=](int value){
qDebug()<<value;
});
建议放置宽度和高度,例如:
mySlider->setStyleSheet("QSlider::groove:horizontal {background-color:yellow;}"
"QSlider::handle:horizontal {background-color:blue; height:16px; width: 16px;}");
关于c++ - 更改凹槽背景时隐藏 QSlider handle ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43761599/