Как оформить рамку QTabBar в Konsole?

Как оформить рамку QTabBar в Konsole?

У меня на панели вкладок 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атрибут не имеет никакого эффекта. вы должны, скорее интуитивно, установить значение colorof QTabBarтаким же, как и значение backgroundof 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 без его перекомпиляции, поэтому мой ответ, вероятно, не по теме.

Связанный контент