В документации есть здесь , показывающий, чего именно вы хотите достичь, используя таблицы стилей .
Обратите внимание, что при использовании таблиц стилей QStyleSheetStyle запускается независимо от QStyle , которое ваше приложение использует в данный момент.Поэтому, если вы решите пойти по этому пути, вы переопределите внешний вид и контроль своего элемента управления одинаково, независимо от целевой платформы.
Если это проблема, вы можете рассмотреть возможность использования таблиц стилей только для определенных целей.платформ.В качестве примера:
#ifdef Q_OS_MAC
myControl->setStyleSheet(":/my_stylesheet_for_mac.qss");
#endif
Возвращаясь к примеру в документации, он использует несколько изображений, содержащих все различные линии (вертикальные, горизонтальные, ветви и т. Д.) И субконтроль ::branch
и его состояния дляопределите, какое изображение использовать.
Результат будет примерно таким:
.
Очевидно, вы должны изменить код, чтобы показать картинку vline вместоСтрелки.
В качестве бокового узла я могу предложить подумать, почему вы хотите сделать это, если вы используете собственные стили.Если ваше приложение имеет собственный внешний вид, вам не следует изменять его каким-либо образом.То есть, если целевая платформа не отображает линии для соединения элементов в виде дерева, вам не следует добавлять их.
Однако, если вашему приложению не требуется, чтобы оно выглядело нативно на всех целевых платформах, вы можете рассмотреть возможность использования одного и того же стиля (например, Fusion ) и предоставления одинакового пользовательского опыта независимо от того, чтоПлатформа.