Для изменения внешнего вида полосы прокрутки в QScrollArea можно воспользоваться каскадными таблицами стилей (CSS).
Пример кода для настройки стиля линии прокрутки виджета QScrollArea:
```python
scroll_area = QtWidgets.QScrollArea()
scroll_area.setStyleSheet(
"""
QScrollBar:vertical {
border: none;
background: #f0f0f0;
width: 10px;
margin: 0px;
}
QScrollBar::handle:vertical {
background: #84939e;
min-height: 20px;
}
QScrollBar::add-line:vertical, QScrollBar::sub-line:vertical {
background: none;
}
"""
)
```
В данном примере устанавливается стиль для вертикальной полосы прокрутки, задается ее ширина, цвет фона и цвет ручки для перемещения. Также устанавливаются аналогичные стили для горизонтальной полосы прокрутки, если это необходимо.
Чтобы оптимизировать код, можно вынести CSS-стили в отдельный файл и подключить его к приложению, чтобы избежать дублирования кода. Также можно использовать стандартные методы и классы Qt для работы со стилями, такие как QSS (Qt Style Sheets), чтобы создать более гибкие и масштабируемые стили для вашего приложения.