c++ - 更改凹槽背景时隐藏 QSlider handle

标签 c++ qt qt5

我正在尝试更改树丛的背景图像并在 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 的样子:

enter image description here

最佳答案

好像是个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;}");

enter image description here

关于c++ - 更改凹槽背景时隐藏 QSlider handle ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43761599/

相关文章:

c++ - 如何在 C++ 中对 string[] 进行排序

c++ - 重置条件变量(提升)

c++ - 如何关闭Qt4中所有处于事件状态的选项卡(QTabWidget)

Qt 可编辑 QGraphicsTextItem 验证文本并在更改时发出信号

c++ - 从另一个列表 C++ Qt 中的对象的属性创建一个新的值列表

c++ - 从 QQuickWidget 上下文调用 QML 方法

c++ - Qt - 模块机器类型 'x64' 与目标机器类型 'X86' 冲突

c++ - 使用 Opencv + Irrlicht on Texture Mapping 的相机馈送中出现奇怪的线条

c++ - QGraphicsScene 的奇怪问题

Qt QML ListView contentHeight 行为