Konsole의 QTabBar 테두리 스타일을 지정하는 방법은 무엇입니까?

Konsole의 QTabBar 테두리 스타일을 지정하는 방법은 무엇입니까?

Konsole v16.04 탭 표시줄에 다음과 같은 보기 흉한 테두리가 있습니다. 여기에 이미지 설명을 입력하세요

내 프로필 CSS:

QTabBar::tab {
    background: #002b36;
    color: #839496;
}
QTabBar::tab:selected {
    background: #073642
}
QTabBar {
    background: #002b36;
    border: none;  
}

설정 border은 여기서 아무것도 하지 않는 것 같습니다 :(

다음은 qt의 QTabBar에 대한 일부 문서입니다.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 를 of QTabBar와 동일하게 설정해야 합니다 . 아마도 그것은 버그 일 것입니다. 이 답변 이전에 이 솔루션을 찾았기를 바랍니다. 이 수정 사항을 적용하면 문제의 스타일 시트가 다음과 같이 표시됩니다.backgroundQTaBar::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

약간 주제에서 벗어났지만 여기에 오는 일부 사람들에게는 여전히 도움이 될 수 있습니다. Fusion 및 사용자 정의 다크 모드를 사용하는 PyQt5 기반 앱(Qt 5.15.2)에서 저는 먼저 스타일시트에서 이러한 흰색 경계선을 제거하기 위해 가능한 모든 것을 시도했습니다. 위의 스크린샷에 표시된 것처럼 독립된(즉, QTabWidget 내부가 아닌) QTabBar의 하단에 성공하지 못한 경우 스타일시트에서 색상을 변경하거나 제거하기 위해 할 수 있는 일이 아무것도 없어 보였습니다. 그러나 마침내 나는 이를 제거하려면 tabBar.setDrawBase(False)를 호출하기만 하면 된다는 것을 깨달았습니다. 프로그래밍 방식으로 QTabBar를 만들 때 drawBase의 기본값은 True인 것 같은데 내 경우에는 그게 문제였습니다.

하지만 Konsole에서 이 속성을 다시 컴파일하지 않고는 변경할 수 없기 때문에 제 답변이 주제에서 벗어난 것 같습니다.

관련 정보