У меня на панели вкладок Konsole v16.04 появилась эта уродливая рамка:
Мой профиль css:
QTabBar::tab {
background: #002b36;
color: #839496;
}
QTabBar::tab:selected {
background: #073642
}
QTabBar {
background: #002b36;
border: none;
}
Настройки border
, похоже, здесь ничего не делают :(
Вот некоторые документы по QTabBar в Qt:http://doc.qt.io/qt-4.8/stylesheet-reference.html#qtabbar-widget А что касается таблиц стилей Konsole для панели вкладок:https://docs.kde.org/trunk5/en/applications/konsole/tabbarstylsheet.html
У кого-нибудь есть идеи, почему Konsole не учитывает эту настройку?
решение1
Попробуйте установить border-width: 0
(глянь сюда), и, возможно border-radius: 0
(здесь). Я не совсем уверен, где их устанавливать, но в документации есть рекомендации в QLineEdit{...
разделе.
В качестве примечания я на самом деле не смог подтвердить, что что-либо из этого работает, так как моя Konsole отказывается находить любой .css
созданный мной профиль. Пытаясь исправить эту проблему, я наткнулся на части выше, которые, надеюсь, помогут вам.
решение2
на самом деле border
атрибут не имеет никакого эффекта. вы должны, скорее интуитивно, установить значение color
of QTabBar
таким же, как и значение background
of QTaBar::tab
. возможно, это ошибка. надеюсь, вы нашли это решение до этого ответа. с этим исправлением таблица стилей в вопросе будет выглядеть следующим образом:
QTabBar::tab {
background: #002b36;
color: #839496;
}
QTabBar::tab:selected {
background: #073642
}
QTabBar {
background: #002b36;
color: #002b36;
}
решение3
Для Konsole 22.12.3 (Qt 5.15.8) мне удалось убрать все границы, удалив их из QTabWidget
(см.здесь):
QTabWidget::pane {
border: none;
}
QTabWidget::tab-bar {
border: none;
}
решение4
Немного не по теме, но, возможно, все еще полезно для некоторых, кто сюда зайдет: в приложении на основе PyQt5 (Qt 5.15.2) с использованием Fusion и пользовательского темного режима я сначала попробовал все возможное в таблице стилей, чтобы избавиться от такой белой линии границы внизу независимого (т. е. не внутри QTabWidget) QTabBar, как показано на снимке экрана выше, безуспешно, казалось, что я ничего не могу сделать в таблице стилей, чтобы изменить ее цвет или удалить ее. Но в конце концов я понял, что мне нужно всего лишь вызвать tabBar.setDrawBase(False), чтобы избавиться от нее. При программном создании QTabBar drawBase, похоже, по умолчанию имеет значение True, и это было проблемой в моем случае.
Но я полагаю, что вы не сможете изменить это свойство в Konsole без его перекомпиляции, поэтому мой ответ, вероятно, не по теме.