Qt - проблема скининга QScrollBar - PullRequest
       19

Qt - проблема скининга QScrollBar

1 голос
/ 30 декабря 2011

Я пытаюсь снять QScrollBar с помощью функции paintEvent, но у меня проблемы. Я не могу найти какую-либо информацию о кнопках на полосе прокрутки, и я могу найти только (ограниченную) информацию о реальном слайдере (ручку, которую вы можете захватить и перетащить). Я также посмотрел на QStyle, и он все еще дает информацию только о ручке прокрутки, а не о кнопках. Жесткое кодирование или использование магических чисел не вариант, потому что кнопки расположены по-разному в разных операционных системах (см .: Здесь ). Есть ли способ программно получить макет полосы прокрутки, чтобы я мог точно отобразить кнопки и ручку прокрутки в их правильных положениях?

1 Ответ

0 голосов
/ 30 декабря 2011

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

  1. Использовать QProxyStyle для переопределения рисования QScrollBar.
  2. Так Qt рисует QScrollBar .Вы можете чередовать это

В качестве альтернативы я бы предложил использовать таблицы стилей Qt для изменения QScrollBar look'n'feel

...