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
属性は効果がありません。直感的に、 をcolor
と同じQTabBar
に設定する必要があります。おそらくこれはバグです。この回答の前にこの解決策を見つけられたことを願います。この修正により、質問のスタイルシートは次のようになります。background
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
少し話題から外れますが、ここに来る人にとってはまだ役立つかもしれません。Fusion とカスタム ダーク モードを使用する PyQt5 ベースのアプリ (Qt 5.15.2) で、まずスタイルシートで可能な限りのことをすべて試して、上記のスクリーンショットに示されているように、独立した (つまり、QTabWidget 内ではない) QTabBar の下部にある白い境界線を取り除こうとしましたが、成功しませんでした。スタイルシートで色を変更したり、削除したりする方法はないようです。しかし、最終的に、それを取り除くには tabBar.setDrawBase(False) を呼び出すだけでよいことに気付きました。プログラムで QTabBar を作成すると、drawBase はデフォルトで True に設定されているようで、これが私のケースの問題でした。
しかし、Konsole を再コンパイルせずにこのプロパティを変更することはできないと思います。そのため、私の回答はおそらくトピック外です。