在 QTabBar 中隐藏底线
似乎没有一种为QTabBar的底线设置样式表(如下图所示),我想删除. 如何删除它? 解决方案 现在尚未使用6-7个月的QT,因此我不确定这是否会起作用,也无法对其进行测试.给出 QTabBar::drawBase 尝试一下.再加上QT库是非常好的文档,因此,如果您仔细筛选它,应该找到解决问题的方法. 希望您正在使用 qt sdk .
12 2023-11-11
编程技术问答社区
动态地扩展QTabBar
我正在通过QlineEdit插入选项卡,该选项卡动态效果很好.要填充屏幕的整个宽度(800px),我使用自己的EventFilter扩展了标签: tabs.h class ResizeFilter : public QObject { QTabBar *target_tabs; public: ResizeFilter(QTabBar *target_tabs) : QObject(target_tabs), target_tabs(target_tabs) {} bool eventFilter(QObject *object, QEvent *event) { if (object == target_tabs) { if (event->type() == QEvent::Resize) { // The width of each tab
10 2023-10-14
编程技术问答社区
使用样式表时的QTabWidget tabPosition
我目前正在使用样式表来主题应用程序. 这是我用于qtabwidget的样式表: /*QTabBar et QTabWidget*/ QTabBar::tab { background: qlineargradient(spread:pad, x1:0.5, y1:0, x2:0.5, y2:1, stop:0 rgba(73, 73, 74, 255), stop:1 rgba(40, 40, 40, 255)); border: 1px solid rgb(190, 190, 190); max-height: 0.6em; min-width: 0.6em; padding: 5px; margin-left: -1px; margin-right: -1px; } QTabBar::tab:selected, QTabBar::tab:hover { background: qlineargradient(spr
22 2023-10-04
编程技术问答社区
Qt 增加 QTabWidget'QTabBar 的大小
我需要制作我在qtabwidget较大的底部定向的选项卡.我们将使用触摸屏,因此默认尺寸太小. 我看不到这样做的简单方法(目前根本没有看到任何好方法.除了此明确目的以外的类). 问题: 我想做的就是将QTABBAR设置为特定尺寸.这可能吗? 除此之外,我唯一能想到的是亚类qtabwidget,然后我可以通过扩展或覆盖此类功能来控制qtabbar的大小. 谢谢. 解决方案 如果您不想进行子类内容,则可以使用 qt stylesheetss 快速设置标签的高度和宽度,例如: // tabWidget is a pointer to a QTabWidget tabWidget->setStyleSheet("QTabBar::tab { height: 100px; width: 100px; }"); // each tab should now be 100x100px 请注意,尽管我们在qtabwidget上调用setStyleSheet
16 2023-09-04
编程技术问答社区
QTabBar 奇怪的行不会消失
我创建了此界面: 我的问题是:如何使用我的样式表摆脱过时的线. 垂直布置黑色框架(objectName = abterabbarwidget(qwidget)).它具有固定的高度(38px),并包含从左到右的这些元素:Qtoolbutton,Qtabbar,Qtoolbutton和另一个Qtoolbutton. 其样式表如下: QWidget#mainTabBarWidget { border-bottom: 1px solid black; background-color: rgb(107, 102, 102); } 每次单击时,Qtoolbutton都会创建一个新标签. QTABBAR(称为Tabbar)具有此样式表: QTabBar#tabBar{ left: 10px; /* move to the right by 5px */ border-bottom: none; } QTabBar::tab {
20 2023-07-25
编程技术问答社区
如何在QT中实现垂直标签?
我试图用QT进行水平文本实现垂直选项卡,但我在 qtabwidget 中找不到任何类似的选项. 有人要求某种类似的东西在这里但是,答案包含断开的链接,我怀疑它们提供了一个真正的解决方案. 有人能够做到吗? 解决方案 您必须实现自定义QTabBar覆盖tabSizeHint()和paintEvent()方法,如下所示: #include #include #include #include #include class TabBar: public QTabBar{ public: QSize tabSizeHint(int index) const{ QSize s = QTabBar::tabSizeHint(index); s.transpose(); ret
46 2023-07-17
编程技术问答社区
QtabBar文本和图标
嗨,我想在qtabbar小部件的塔巴尔每个选项卡中放置图标和图标下方的文字.默认情况下,文本和图标是彼此隔壁的,我想在另一个下方显示一个.我们该怎么做. 解决方案 似乎只有一种更改图标放置的方法 - 重新成像Qtabbar的PaintEvent. 这样的代码可能会有所帮助: class MyTabBar : public QTabBar { ... protected: void paintEvent(QPaintEvent *) { QStylePainter painter(this); for(int i = 0; i
16 2023-07-17
编程技术问答社区
在QTabWidget中动态样式化一个单独的标签
如何单独和动态访问单个选项卡(而不是其内容resp.在选项卡中的小部件)来进行样式目的,例如更改背景颜色或向其添加图形效果? 一个应用程序可以是通知用户,通过让其以另一种颜色闪烁(例如Windows任务栏,如果窗口想要获得焦点)来通知用户. 有一个更改文本颜色的功能,为什么不更多? 样式表可用于访问选定/第一个...选项卡,但不能通过其索引. 有些人谈论子类,但我不知道这将如何导致所需的解决方案. 如果可能的话,如何实现? 解决方案 要访问每个QTabBar选项卡的每种样式,您必须覆盖它的paintEvent()方法. 这样做的通用方法应该具有以下结构: void paintEvent(QPaintEvent *event){ QStylePainter painter(this); QStyleOptionTab opt; for(int index = 0; index
12 2023-07-17
编程技术问答社区
QTabBar'的标签的内部QWidgets?
作为" 我可以直接访问QTabBar选项卡中的小部件.我做不是是指我选择一个选项卡时显示的相应小部件,但是Tab的小部件(因此在日志标签和日志图标下方的屏幕截图中). 我尝试过QTabBar::findChildren,但没有成功.有什么想法吗? 解决方案 QTabBar标题部分实际上不是小部件.它们由QStylePainter内部QTabBar::paintEvent绘制.因此,您无法访问它们. 作为解决方法,您可以添加带有空文本的选项卡并将自定义小部件设置为: QTabBar *bar = new QTabBar; bar->addTab(""); QLabel *label = new QLabel("my label"); bar->setTabButton(0, QTabBar::LeftSide, label);
22 2023-07-16
编程技术问答社区
pyqt5 tabwidget 垂直标签水平文本左对齐
由于pyqt在垂直选项卡选项中没有水平文本,因此我遵循此链接使其实现. 我想在左侧有图标,然后以图标之后的文本和不同的颜色为选择,以适用于选定的选项卡文本,不活动标签文本.下面的代码几乎完成了.唯一的问题是文本对齐是中心.我尝试更改tabrect.center(),但是用左右或右上或右上等更改它正在使其崩溃. 我从此链接左对齐,但没有我添加的图标.但是我无法更改非活动选项卡的文本颜色. 我是Python的新手,我找不到解决方案.我还尝试了一下 link 背景颜色.尝试使用此选项以及 settabtextcolor链接由于某种原因没有工作.从2天开始尝试. 每当我尝试使用带有注释代码的样式表设置文本颜色时,"颜色"选项都在样式表中都无法使用.关于如何完成此操作的任何想法?谢谢 from PyQt5 import QtCore, QtGui, QtWidgets class TabBar(QtWidgets.QTabBar): def tabSizeHint
44 2023-07-15
编程技术问答社区
改变QTabWidget标签的背景颜色
在pyqt4中,是否有可能为qtabwidget更改选项卡的背景颜色吗?有一种方法可以更改文本的颜色,但不能更改标签的背景颜色. 我有一个带有多个选项卡的程序,我想给出每个级别的背景颜色.请参阅附件示例. from PyQt4 import QtCore, QtGui try: _fromUtf8 = QtCore.QString.fromUtf8 except AttributeError: _fromUtf8 = lambda s: s class Ui_Dialog(object): def setupUi(self, Dialog): Dialog.setObjectName(_fromUtf8("Dialog")) Dialog.resize(661, 397) self.verticalLayout = QtGui.QVBoxLayout(Dialog) self.vert
36 2023-07-14
编程技术问答社区
让每个标签都有相同的宽度,并且可以扩展
我正在尝试从浏览器中实现类似的选项卡.所有选项卡必须具有相同的宽度,并且也可以扩展,因此,当它们有很多时,他们需要调整大小和安装窗口(就像Chrome或Firefox一样). 问题: 如果标签具有更多的文本,则"其他选项卡"将更大.喜欢: ,如果我产生了很多标签,它总是比其他标签更大. 我尝试的是: 我试图添加样式表以更改宽度,但是如果将宽度更改为特定数字,则选项卡将是静态的,并且不会根据选项卡的数量进行调整以适合窗口.我也尝试使用最小/最大宽度进行调整,与QSizepolicy弄乱,但没有机会. 我已经查看了C ++的QT5文档并进行了很多谷歌搜索,但是没有任何地方谈论这个或任何选择. 也许我需要在Python中进行一些计算,并添加到样式表作为参数,但不确定如何.也许我缺少一个简单的选择. 我的代码:(这是完整的代码,因此您可以在需要的情况下复制和测试) import sys from PyQt5.QtCore import Qt
32 2023-07-04
编程技术问答社区
改变Konsole CSS中紫色标签文字的颜色
当输入进入非活动选项卡时,选项卡的文本变为紫色.我需要使用哪些 CSS 选择器来更改它? 我在 Konsole 中使用自定义样式表来更改选项卡的外观,但不知道如何更改这个值.这个页面没有提及. 我在 Xubuntu 14.04(XFCE) 上使用 Konsole 2.13.2(KDE 4.13.3). 解决方案 截至今天,这个 tab-activity 颜色似乎是由 void TabbedViewContainer::setTabActivity(int index , bool activity) { const QPalette& palette = _tabBar->palette(); KColorScheme colorScheme(palette.currentColorGroup()); const QColor colorSchemeActive = colorScheme.foreground(KColorScheme::A
500 2022-08-15
编程技术问答社区
Qt (C++): 在QTabWidget中动态地设计单个标签的样式
我知道,这个问题已经在这里和其他网站上讨论过,但还没有真正的解决方案,虽然我认为,我不是唯一一个遇到这个问题的人: 如何单独和动态访问单个选项卡(不是其内容和选项卡中的小部件)以进行样式设置,例如更改背景颜色或为其添加图形效果?应用程序可以通知用户一个选项卡需要他的注意,方法是让它以另一种颜色闪烁(如在窗口任务栏中,如果窗口想要获得焦点).有一个改变文字颜色的功能,为什么不更多呢?样式表可用于访问选定的、第一个等选项卡,但不能通过其索引访问特定的选项卡.有人谈到子类化 QTabBar,但我不知道,这将如何导致所需的解决方案.有没有可能实现这一点,如果有,请提供一个例子. 解决方案 为了访问每个 QTabBar 选项卡的每个样式,您必须覆盖它的 paintEvent() 方法. 执行此操作的通用方式应具有以下结构: void paintEvent(QPaintEvent *event){ QStylePainter painter(this); QSt
1896 2022-08-11
编程技术问答社区
如何在一个QTabWidget中禁用一个标签?
我有一个名为 tabWidget 的 QTabWidget.它具有三个选项卡:“基本"、“高级"和“当前结构".选项卡按该顺序显示在小部件中. 每当布尔值 result 为假时,我想禁用“高级"选项卡.我认为它会像这段代码一样简单: bool result = false; if (result == false) { tabWidget->widget(1)->setDisabled(true); } 不幸的是,这段代码并没有禁用选项卡,即使我检查它也保持启用状态: tabWidget->tabBar()->isTabEnabled(1); // This returns true 为什么标签没有被禁用?还有另一种方法吗? 我使用的是 Qt 5.4.0. 解决方案 您可以使用成员函数 setTabEnabled(int index, bool enable). 根据您的代码片段,它看起来像这样: bool result = false; i
1286 2022-08-11
编程技术问答社区
改变QTabWidget标签的颜色'。
我想自定义一个qtabwidget,以便每个选项卡都具有自己的背景颜色.我知道,这不能用样式表来完成,所以我将QTabbar子归类并改变了它的Paintevent.然后,我用自己的实现替换了QtabWidget的默认QTabbar.但是,标签的背景颜色不会改变.有人知道我错过了什么吗? 这是一个小型演示应用程序,说明了我的问题: from PyQt4 import QtGui import sys class coloredTabBar(QtGui.QTabBar): def __init__(self, parent = None): QtGui.QTabBar.__init__(self, parent) def paintEvent(self, event): p = QtGui.QStylePainter(self) painter = QtGui.QPainter(self) f
10730 2022-07-19
编程技术问答社区