QSlider не перетаскивается при установке фона канавки - PullRequest
0 голосов
/ 12 марта 2019

Всякий раз, когда я устанавливаю в канавке моего QSlider изображение (в виде изображения или фона) или цвет фона (но не цвет), я не могу перетащить его, а только переместить, щелкнув ползунок для перехода Это. Вот моя текущая таблица стилей для справки, это устанавливается с помощью вызова setStyleSheet ()

    fanSliderOnStyleSheet = "QSlider {padding-left: 80px; padding-right: 80px;} \n"
    "QSlider::handle:horizontal{image: url(:/images/FanSlider/blowerSw2.png); padding:-65px; }\n"
    "QSlider::groove:horizontal{background-image: url(:/images/FanSlider/barind.png);}\n";

Если я закомментирую строку, которая задает канавку, ползунок работает так, как задумано, поэтому я исключил любые другие переменные ползунка, о которых я могу подумать.

Примечание. Я предпочитаю устанавливать его как фоновое изображение поверх изображения, так как оно сохраняет истинный размер, если я делаю это таким образом.

У кого-нибудь есть идеи, как это исправить, или это случайно ошибка в Qt? Последние несколько дней я бился головой об стену, и мои поиски не выявили никакой полезной информации.

1 Ответ

0 голосов
/ 12 марта 2019

Заполнение слишком высокое для вашего дескриптора: если вы установите значение, превышающее размер изображения в свойстве groove, оно будет мешать перемещениям обработчика (секция grab будет пустой) .

У меня возникает точно такая же проблема, когда я устанавливаю изображение шириной 100 пикселей и свойством отступа 110 пикселей.

Снимите прокладку, и все должно быть в порядке:

fanSliderOnStyleSheet = "QSlider {padding-left: 80px; padding-right: 80px;} \n"
    "QSlider::handle:horizontal{image: url(:/images/FanSlider/blowerSw2.png);}\n"
    "QSlider::groove:horizontal{background-image: url(:/images/FanSlider/barind.png);}\n";
...