如何設定 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設定為與ofQTabBar相同。也許這是一個錯誤。希望您在回答這個問題之前已經找到了這個解決方案。透過此修復,問題中的樣式表將如下所示: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 中的這個屬性,這就是為什麼我的答案可能是偏離主題的。

相關內容