QSlider があり、範囲が 0 から 100 であると仮定します。
私が必要としているのは、QSlider の溝の背景を 20 から 80 の範囲のみで色付けすることです。
以下にサンプル画像を追加しました。

QSlider があり、範囲が 0 から 100 であると仮定します。
私が必要としているのは、QSlider の溝の背景を 20 から 80 の範囲のみで色付けすることです。
以下にサンプル画像を追加しました。

QSlider をサブクラス化し、paintEvent を次のように再実装することをお勧めします。
void My_slider::paintEvent(QPaintEvent *ev) {
  QStyleOptionSlider opt;
  initStyleOption(&opt);
  opt.subControls = QStyle::SC_SliderGroove | QStyle::SC_SliderHandle;
  if (tickPosition() != NoTicks) {
    opt.subControls |= QStyle::SC_SliderTickmarks;
  }
  QRect groove_rect = style()->subControlRect(QStyle::CC_Slider, &opt, QStyle::SC_SliderGroove, this);
  qDebug() << groove_rect;
  QSlider::paintEvent(ev);
  QRect rect(groove_rect.left() + 0.2 * groove_rect.width(), groove_rect.top(), 0.6 * groove_rect.width(), groove_rect.height());
  QPainter painter(this);
  painter.fillRect(rect, QBrush(Qt::red));
}
    yur スライダーのサイズ (ピクセル単位) がわかっている場合は、Qt スタイル シートを使用して溝のスタイルを設定することもできます。