如何设置 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

稍微偏离主题,但可能对某些人还是有帮助的:在基于 PyQt5 的应用程序 (Qt 5.15.2) 中使用 Fusion 和自定义暗模式,我首先在样式表中尝试了所有可能的方法来摆脱独立 (即不在 QTabWidget 内) QTabBar 底部的白色边框线,就像上面的屏幕截图所示,但没有成功,似乎我无法在样式表中执行任何操作来更改其颜色或将其删除。但最后我意识到我只需要调用 tabBar.setDrawBase(False) 即可摆脱它。当以编程方式创建 QTabBar 时,drawBase 似乎默认为 True,而这正是我的情况中的问题所在。

但我想你不能在不重新编译的情况下在 Konsole 中更改此属性,这就是为什么我的回答可能偏离主题。

相关内容