Для QTabBar (и QTabWidget) с большим количеством вкладок я хотел бы сгруппировать вкладки, рисуя зазор между группами.
Наиболее очевидный способ - это, вероятно, добавить вкладку-разделитель, отключитьи установите стиль для QTabBar :: tab: disabled, чтобы сделать его невидимым.Очень хороший пример в другом решении для stackexchange, извините, я потерял ссылку на него.
Однако программа, частью которой она является, имеет довольно сложную и переплетенную последовательность вкладок, и было бы очень хорошо, если бы ее не было.чтобы изменить последовательность вкладок, вставив вкладки-проставки.
Итак, я бы хотел стилизовать первую вкладку любой данной группы так, чтобы она отображалась с пробелом слева.Вы можете сделать это для всех вкладок, таких как:
self.ui.tabWidget.setStyleSheet("""
QTabBar::tab {
margin-left:10px;
Что дает:
Вопрос в том, как применить это только к определенным вкладкам?
Кажется, что ключевой вопрос заключается в следующем: как стилизовать отдельную вкладку, а не виджет, который находится внутри вкладки?
Выполнение чего-то подобного добавляет только поля и отступы внутри вкладок.border:
bar.tabButton(i,QTabBar.LeftSide).setStyleSheet(...)
, который не добавляет визуального разделения между вкладками.Я хочу добавить поле за пределами вкладки.
Я пытался добавить это в таблицу стилей:
QTabBar::tab[categoryPosition="first"] {
margin-left:10px;
}
QTabBar::tab[categoryPosition="last"] {
margin-right:10px;
}
, сопровождаемое этим в коде, для каждой вкладки, которая является первойв группе:
bar.tabButton(i,QTabBar.LeftSide).setProperty("categoryPosition","first")
но не повезло.Некоторые другие вопросы, связанные со стековым потоком, указывают на то, что нет способа стилизовать конкретную вкладку по ее индексу, поскольку вкладка является структурой, а не самим виджетом, но я не уверен, что понял их правильно.
Итакэто возвращает нас к первоначальному вопросу: как лучше всего выполнить визуальную группировку такого типа в QTabBar?1) добавить разделительные вкладки: сложнее, чем кажется, когда последовательность вкладок сложно изменить;2) стилизовать первую и / или последнюю вкладки в любой конкретной группе;3) есть еще один хороший вариант?